import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();//区域总数
long m=sc.nextInt();//资源单位总数
long k=sc.nextInt();//最少开垦天数
long []use=new long[100001];//储存消耗资源数目
int max_t=0;//开垦最大天数
for(int i=0;i<n;i++){
int t=sc.nextInt();
int c=sc.nextInt();
use[t]+=c;//储存原始时间相同的田地所消耗的(加速一天)资源
max_t=Math.max(max_t,t);//对比获取出最大天数
}
int ans=(int)k;
for(int j=max_t;j>k;j--){//从大到小循环比较
if(use[j]<m){//判断资源总数是否满足当前原始时间田地加速所需的资源
use[j-1]+=use[j];//将原始时间较大的田地所消耗的资源,添加到原始时间较小的田地中一起累计
m-=use[j];//将资源总数减去已经确定能满足的田地所消耗的资源,获得剩余资源总数
}
else{//剩余资源总数不满足下一轮原始时间田地加速所需资源
ans=j;//获取当前一轮的田地的原始时间
break;
}
}
System.out.println(ans);
}
}
2023-3-2垦田计划(csp)(java)(100分)
于 2023-08-16 10:25:34 首次发布