#include <iostream> #include <algorithm> using namespace std; int main() { int n,s,a,b; int countnum = 0; cin>>n>>s>>a>>b; int x[n],y[n],c[n]; for(int i=0;i<n;i++) { cin>>x[i]>>y[i]; c[i]=y[i]; } sort(c,c+n);//排序 for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { if(y[j]==c[i] && a+b>=x[j] && s-y[j]>=0) { s = s-y[j]; y[j]=c[n-1]+10; //cout<<"j"<<j<<" "<<"y[j]:"<<y[j]<<" "<<"s"<<s<<endl; countnum++; break; } } } cout<<countnum<<endl; return 0; }
注意:yi排序后的ci 从yi里找的时候 从前往后找 找到了继续 再来一遍的时候还是先找到之前的 后面的xi不一定满足 所以把找到了的yi排除