对力气进行排序。苹果数是一样的,从力气小的开始找
#include<bits/stdc++.h>
using namespace std;
const int maxn=5e3+10;
int n,s,a,b,sum;
struct node{
int x,y;
}p[maxn];
bool cmp(const node&a,const node&b){
return a.y<b.y;
}
int main(){
scanf("%d%d%d%d",&n,&s,&a,&b);
for(int i=1;i<=n;i++)
scanf("%d%d",&p[i].x,&p[i].y);
sort(p+1,p+1+n,cmp);
for(int i=1;i<=n;i++){
if(s>=p[i].y&&a+b>=p[i].x){
s-=p[i].y;
sum++;
}
}
printf("%d\n",sum);
return 0;
}