拼多多笔试:满减优惠
拼多多,满减优惠问题,感觉结果没错啊,为什么通过率为0,求大神指点
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] s1 = sc.nextLine().split(" ");
int n = Integer.parseInt(s1[0]);
int m = Integer.parseInt(s1[1]);
String[] s2 = sc.nextLine().split(" ");
int resRaw = 0;
for (String str: s2){
resRaw += Integer.parseInt(str);
}
Map<Integer,Integer> map = new HashMap<>();
for (int i=0; i<m; i++){
String[] s3 = sc.nextLine().split(" ");
map.put(Integer.parseInt(s3[0]), Integer.parseInt(s3[1]));
}
int resCur = 0;
for (String str2: s2){
int item = Integer.parseInt(str2);
int min = 0;
List<Integer> list = new ArrayList<>();
for (Map.Entry<Integer, Integer> entry : map.entrySet()){
if ( item >= entry.getKey() ){//满足满减要求,选一个减得最多的
int tmp = item - entry.getValue();
list.add(tmp);
}
}
if ( list.size() != 0){
Collections.sort(list);
int item_cur = list.get(0);
resCur += item_cur;
}else{
resCur += item;
}
}
if (resCur < resRaw ){
System.out.println(resCur);
}else{
System.out.println(resRaw);
}
}#拼多多#
上海得物信息集团有限公司公司福利 1208人发布
查看14道真题和解析