拼多多第一题"小熊吃糖"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工程师#