拼多多第一题"小熊吃糖"AC代码(Java版)
import java.util.*;
public class test2{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int m=in.nextInt();
int[] tang=new int[m];
for(int i=0;i<m;i++){
tang[i]=in.nextInt();
}
Arrays.sort(tang);
int[][] xiong=new int[n][2];
for(int i=0;i<n;i++){
xiong[i][0]=in.nextInt();
xiong[i][1]=in.nextInt();
}
TreeMap<Integer, Integer> sord=new TreeMap<>();
for(int i=0;i<n;i++){
sord.put(xiong[i][0], xiong[i][1]);
}
Set<Integer> set = sord.keySet();
Iterator<Integer> it = set.iterator();
TreeSet<Integer> ts = new TreeSet<Integer>();
while(it.hasNext())
{
ts.add(it.next());
}
Iterator<Integer> it2 = ts.descendingIterator();
while(it2.hasNext())
{
int l=it2.next();
int k=sord.get(it2.next());
for(int i=m-1;i>=0;i--){
if(tang[i]<=k&&tang[i]!=-1){
k-=tang[i];
tang[i]=-1;
}
}
sord.put(l, k);
}
for(int i=0;i<n;i++){
System.out.println(sord.get(xiong[i][0]));
}
}
}
#Java工程师#
美的集团公司福利 819人发布

