import java.util.*; public class Main { public static void main(String aegs[]) { Scanner sc = new Scanner(System.in); int n, m; int[] val = new int[1001]; while (sc.hasNext()) { n = sc.nextInt(); m = sc.nextInt(); for (int i = 0; i < n; ++i) { val[i] = sc.nextInt(); } Map<String, Integer> mp = new <String, Integer>HashMap(); String name; for (int i = 0; i < m; ++i) { name = sc.next(); int num = mp.getOrDefault(name, 0) + 1; mp.put(name, num); } Arrays.sort(val, 0, n); List<Integer> list = new ArrayList<Integer>(mp.values()); int size = list.size(); Integer[] array = (Integer[])list.toArray(new Integer[size]); Arrays.sort(array); int max = 0, min = 0; int i = 0; for (Integer num : array) { max += val[n - size + i] * num; if (size - 1 - i >= 0) { min += num * val[size - 1 - i]; } i++; } System.out.println(min + " " + max); } } } 感觉你们写的都好长。
点赞 1

相关推荐

专业嗎喽:个人信息名字太大,合到电话邮箱那一栏就行,有党员写过党,剩下其他全删,站空太大了 把实习经历丰富,放最前面,然后是个人评价,技能之类的,然后是学校信息。项目经历最后面,可以就选一个自己擅长的。 现在是学校不是92就扣分的,没必要放前面。 然后现在看重实习经历>竞赛经历(校园经历)>课程项目经历
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务