Chin_aliu @ 2023-04-23 18:40:07
import java.util.PriorityQueue;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
long s1=System.currentTimeMillis();
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();//n个果子
int s=sc.nextInt();//力气
int a=sc.nextInt();//椅子的高度
int b=sc.nextInt();//手伸直最大长度
int[][] arr=new int[n][n];
for(int i=0;i<n;i++)
{
arr[i][0]=sc.nextInt();//高度
arr[i][1]=sc.nextInt();//要花费的力气
}
PriorityQueue<Integer> pr=new PriorityQueue<>();
for(int i=0;i<n;i++)
{
if(arr[i][0]<=a+b)
{
pr.add(arr[i][1]);//可以拿到的都放优先队列里
// System.out.println(arr[i][0]+" "+arr[i][1]);
}
}
int sum=0;
int count=0;
while(sum<s)//力气用完就停
{
int t=pr.poll();//每次取最小的
sum+=t;
// System.out.println(t);
count++;
}
if(sum>s)//他可能超所以要减最后一个
{
System.out.println(count-1);
// System.out.println("s:"+s+" sum:"+sum);
}else {
System.out.println(count);
}
long s2=System.currentTimeMillis();
System.out.println(s1);
System.out.println(s2);
System.out.println(s2-s1);
}
}
by cff_0102 @ 2023-04-23 18:43:39
你的arr[i][2],arr[i][3],…,arr[i][n-1]是干嘛的
by Chin_aliu @ 2023-04-24 23:35:20
@cff_0102 卧槽这才发现开多了,谢谢大佬