import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();// bear num
int m = in.nextInt();// sweet num
int[] sweets = new int[m];
Integer[][] bears = new Integer[n][3];// 战斗力,饥饿值,索引(因为最后要按原顺序输出)
for (int i = 0; i < m; ++i) {
sweets[i] = in.nextInt();
}
for (int i = 0; i < n; ++i) {
bears[i][0] = in.nextInt();
bears[i][1] = in.nextInt();
bears[i][2] = i;
}
Arrays.sort(sweets);
Arrays.sort(bears, new Comparator<Integer[]>() {
@Override
public int compare(Integer[] o1, Integer[] o2) {
return o2[0] - o1[0];
}
});
for (int i = 0; i < n; ++i) {
for (int j = m - 1; j >= 0; --j) {
if (sweets[j] == -1) {
continue;
}
if (bears[i][1] >= sweets[j]) {
// eat
bears[i][1] -= sweets[j];
sweets[j] = -1;
}
}
}
// 按索引排序,恢复原来的顺序
Arrays.sort(bears, new Comparator<Integer[]>() {
@Override
public int compare(Integer[] o1, Integer[] o2) {
return o1[2] - o2[2];
}
});
for (int i = 0; i < n; ++i) {
System.out.println(bears[i][1]);
}
}
}
小熊吃糖(拼多多笔试题)
最新推荐文章于 2019-06-03 12:41:30 发布