拼多多笔试:满减优惠
拼多多,满减优惠问题,感觉结果没错啊,为什么通过率为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); } }#拼多多#