import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt();// 小熊数量 int m = sc.nextInt();// 糖数量 ArrayList<Integer> al = new ArrayList<Integer>();// 存储糖的能量 LinkedHashMap<Integer, Integer> lm = new LinkedHashMap<Integer, Integer>(); int b_fight[] = new int[n];// 战斗力 for (int i = 0; i < m; i++) { al.add(sc.nextInt()); } for (int i = 0; i < n; i++) { b_fight[i] = sc.nextInt(); lm.put(b_fight[i], sc.nextInt()); } Arrays.sort(b_fight); Collections.sort(al); for (int i = n - 1; i >= 0; i--) { for (int j = al.size() - 1; j >= 0; j--) { if (lm.get(b_fight[i]) - al.get(j) >= 0) { lm.put(b_fight[i], lm.get(b_fight[i]) - al.get(j)); al.remove(j); } } } Set<Map.Entry<Integer, Integer>> entrySet = lm.entrySet(); Iterator<Map.Entry<Integer, Integer>> it = entrySet.iterator(); while (it.hasNext()) { Map.Entry<Integer, Integer> me = it.next(); Integer value = me.getValue(); System.out.println(value); } sc.close(); } }