package com.kaishengit; //小熊 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int bearNum = sc.nextInt(); int candyNum = sc.nextInt(); Bear [] bears = new Bear[bearNum]; int [] candys = new int[candyNum]; for(int i = 0;i < candyNum;i++) { int num = sc.nextInt(); candys[i] = num; } //返回结果 int [] res = new int[bearNum]; List<Bear> bearArrayList = new ArrayList<>(); for(int i = 0;i < bearNum;i++) { int num = sc.nextInt(); int num1 = sc.nextInt(); Bear bear = new Bear(num,num1,i); bears[i] = bear; bearArrayList = Arrays.asList(bears); } //战斗力排序 Collections.sort(bearArrayList); for(Bear bear : bearArrayList) { for(int i = candys.length - 1;i >= 0;i--) { if(candys[i] > 0 && bear.getHungry() >= candys[i]) { bear.setHungry(bear.getHungry() - candys[i]); candys[i] = 0; } } res[bear.index] = bear.getHungry(); } for (int i = 0; i < bearNum; i++) { System.out.println(res[i]); } } public static class Bear implements Comparable<Bear>{ Integer power; Integer hungry; Integer index; public Integer getPower() { return power; } public void setPower(Integer power) { this.power = power; } public Integer getHungry() { return hungry; } public void setHungry(Integer hungry) { this.hungry = hungry; } public Bear(int power, int hungry,int index) { this.power = power; this.hungry = hungry; this.index = index; } @Override public int compareTo(Bear bear) { int i=bear.power-this.power; if(i>0) return 1; else{ return i==0?0:-1; } } } public static int getMax(int[] arr){ int max=arr[0]; int i=1; for(;i<arr.length;i++){ if(arr[i]>max){ max=arr[i]; } } return i; } }