解决方案

 

-CoderOilStation(程序员编程助手科技股份责任有限公司)

 

 


eroupean company's needs bonAppletit

 

/**

* bonAppletit

* output

* overcharge

* number items:

* investigation volummn - Anna bill cost

* print "Anna was overcharged"

* or not overcharge

* output: bonAppletit

* eroupean company's needs

* constriants:

* bill numSize: 2<=n<=10to5

* keyIndex: that Anna did not eat : 0<=k<n

* bill index of that order items cost: 0<=bill[i]<=10to4

* the amount of money that Bon chareged: 0<=b<=sum(bill[0],bill[n-1]) bill[i] is in this encloure

*

* @param bill

* @param k

* @param b

*/

public static void bonAppletit(List<Integer> bill,int k,int b) {

if(bill==null) {

return ;

}

if(bill.isEmpty()) {

return ;

}

int intVal=1;

for (int i = 0; i < 5; i++) {

intVal*=10;

}

if(bill.size()<2 || bill.size()>intVal) {

return ;

}

if(k<0 || k>=bill.size()) {

return ;

}

int intVal1=1;

for (int i = 0; i < 4; i++) {

intVal1*=10;

}

for(Integer intTempItem : bill) {

if(intTempItem<0 || intTempItem>intVal1) {

return ;

}

}

int sumE=0;

for(Integer elementBillItem : bill) {

sumE+=elementBillItem;

}

if(b<0 || b>sumE) {

return ;

}

int itemBillSumEvitIndexItem=0;

Integer integer = bill.get(k);

for(Integer itemBill : bill) {

if(itemBill==integer) {

continue;

}

itemBillSumEvitIndexItem+=itemBill;

}

int averageCharge = itemBillSumEvitIndexItem/2;

if(b>averageCharge) {

System.out.println("Anna was overcharged");

}else if(b==averageCharge){

System.out.println("bonAppletit");

}

return ;

}