0
已解决
胡景波
中级光能
中级光能
50分
- #include<iostream> #include<algorithm> using namespace std; long long n,k,m; struct p{ long long pi,ci; }a[50005]; bool cmp(p a,p b){ if(a.ci!=b.ci)return a.ci<b.ci; return a.pi<b.pi; } bool cmp2(p x,p y){ return x.pi<y.pi; } long long cnt; int main(){ cin>>n>>k>>m; for(int i=1;i<=n;i++){ cin>>a[i].pi>>a[i].ci; } sort(a+1,a+n+1,cmp); for(int i=1;i<=n;i++){ if(k!=0&&m>=a[i].ci){ cnt++;m-=a[i].ci; a[i].ci=0;k--; } if(k==0) break; } sort(a+1,a+n+1,cmp2); for(int i=1;i<=n;i++){ if(a[i].ci!=0&&m>=a[i].pi){ m-=a[i].pi; cnt++; } else break; } cout<<cnt; return 0; }