P1478 陶陶摘苹果(升级版)
P1478 陶陶摘苹果(升级版)
题目链接:https://www.luogu.org/problem/P1478
思路:
这题要比想象的要简单,因为在相同气力下,陶陶无论是摘高的还是低的都不影响,所以这题只需要把气力从小到大排就好了。
代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int n,s,a,b,i,j;
int a1[5050],a2[5050],sum=0,m=0;
cin>>n>>s;
cin>>a>>b;
for(i=0;i<n;i++){
cin>>a1[i]>>a2[i];
if(a1[i]>a+b){ //排除掉够不着的苹果;
i--;
n--; //一定要注意减1!!!
}
}
sort(a2,a2+n); //把气力从小到大排序;
for(j=0;j<n;j++){
if(sum+a2[j]<=s){
sum += a2[j];
m++;
}
//cout<<a2[j]<<endl;
}
cout<<m<<endl;
return 0;
}