题解
2025-08-03 12:03:43
发布于:广东
2阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
priority_queue<int,vector<int>,less<int>> q;
int cnt1=0,cnt2=0;
for(int i=1;i<=n;i++){
int x,y;
cin>>x>>y;
cnt1+=x;
cnt2+=y;
q.push(x-y);
}
if(cnt2>m){
cout<<"-1";
return 0;
}
int cnt=0;
while(cnt1>m && q.size()){
cnt1-=q.top();
q.top();
cnt++;
}
cout<<cnt;
return 0;
}
这里空空如也
有帮助,赞一个