一道贪心被你连STL都搞出来了QAQ```
#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
struct pg{
int gaodu;
int liqi;
};
bool cmp(pg a,pg b)
{
return a.liqi<b.liqi;//从小到大排<,若要从大到小排则>
}
int main () {
int n=0,s=0,a=0,b=0,pig=0;
pg xi[10001]={};
cin>>n;
cin>>s;
cin>>a>>b;
for(int i=0;i<n;i++)cin>>xi[i].gaodu>>xi[i].liqi;
sort(xi,xi+n,cmp);
for(int i=0;i<n;i++){
if(s<0)break;
if(xi[i].gaodu<=a+b){
if(s-xi[i].liqi<0)break;
pig++;
//cout<<xi[i].gaodu<<" "<<xi[i].liqi<<" ";
}
else continue;
s=s-xi[i].liqi;//cout<<s<<endl;
}
cout<<pig<<endl;
return 0;
}
```
看完代码不要抄!!!
by Hammmmmm @ 2019-07-17 21:22:18
```
#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
struct pg{
int gaodu;
int liqi;
};
bool cmp(pg a,pg b)
{
return a.liqi<b.liqi;//从小到大排<,若要从大到小排则>
}
int main () {
int n=0,s=0,a=0,b=0,pig=0;
pg xi[10001]={};
cin>>n;
cin>>s;
cin>>a>>b;
for(int i=0;i<n;i++)cin>>xi[i].gaodu>>xi[i].liqi;
sort(xi,xi+n,cmp);
for(int i=0;i<n;i++){
if(s<0)break;
if(xi[i].gaodu<=a+b){
if(s-xi[i].liqi<0)break;
pig++;
//cout<<xi[i].gaodu<<" "<<xi[i].liqi<<" ";
}
else continue;
s=s-xi[i].liqi;//cout<<s<<endl;
}
cout<<pig<<endl;
return 0;
}
```
by Hammmmmm @ 2019-07-17 21:22:49