悬赏关注,离谱!求助,优先队列哪里错了
查看原帖
悬赏关注,离谱!求助,优先队列哪里错了
1034242
RingTouSou楼主2023/10/28 21:39
#include<iostream>
#include<queue>
using namespace std;

struct cuntomcomparator{
    
	bool operator()(const pair<int,int> &a,const pair<int,int> &b) const{
			return a.second < b.second;
	}	
};
int main()
{
	priority_queue<pair<int,int>,vector<pair<int,int>>,cuntomcomparator> p;
    int n,s;
    cin>>n>>s;
    int a,b;
    cin>>a>>b;
    int k=a+b;
    int ans=0;
    for(int i=1;i<=n;++i)
    {
    	int x,y;
    	cin>>x>>y;
        p.push({x,y});
	}
	for(int i=1;i<=n;++i)
	{
		auto t=p.top();
		p.pop();
		if(s>=t.second&&k<=t.first)
		{
			ans++;
			s-=t.second;
		}
	}
	cout<<ans;
}
2023/10/28 21:39
加载中...