提交时间:2025-07-15 10:34:51
运行 ID: 332712
#include<bits/stdc++.h> using namespace std; struct Ge{ int ri; int ya; int t; }g[100005]; bool cmp(Ge x, Ge y){ return x.t>y.t; } int main(){ int n, m, s=0, sum=0; cin>>n>>m; for(int i=1; i<=n; i++){ cin>>g[i].ri>>g[i].ya; g[i].t=g[i].ri-g[i].ya; s+=g[i].ya; sum+=g[i].ri; } if(sum<=m){ cout<<0; return 0; } if(s>m){ cout<<-1; return 0; } s=sum-m;//需要压缩的体积 sort(g+1,g+1+n,cmp); int i=0; while(s>0){ i++; s=s-g[i].t; } cout<<i; return 0; }