#include <bits/stdc++.h>
using namespace std;
struct app{
int x,y;
};
bool cmp(app a,app b){
return (a.y<=b.y);
}
int s,n,b,a,num;
int main(){
cin>>n>>s;
cin>>a>>b;
app apple[5000];
for(int i=0;i<n;i++){
cin>>apple[i].x>>apple[i].y;
}
sort(apple,apple+n,cmp);
for(int i=0;i<n;i++){
if(s>apple[i].y){
if(apple[i].x<=(a+b)){
num++;
s-=apple[i].y;
}
}
}
cout<<num<<endl;
return 0;
}
这道题用dev测试完全可行,在洛谷上确是:
#1WA #2AC #3RE #4AC #5AC
到底是哪里出了问题?悬关求助!