40分,求大佬帮助
查看原帖
40分,求大佬帮助
1238574
dzy15373891653楼主2024/9/30 16:42
#include<bits/stdc++.h>
using namespace std;
const int N=1e7+5;
int n,res;
struct qq
{
	int t1,t2;
};qq d[N];
bool cmp(qq x,qq y)
{
	return x.t2<y.t2;
}
priority_queue<int>q;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>d[i].t1>>d[i].t2;
	}
	sort(d+1,d+n+1,cmp);
	int ans=d[n].t2;
	for(int i=1;i<=n;i++)
	{
		if(d[i].t1>ans)
		{
		//	cout<<res<<' ';
			if(d[i].t1<q.top())
			{
				ans+=q.top();
				q.pop();
				q.push(d[i].t1);
				ans-=d[i].t1;
			//	res++;
			}
			continue;
		}
		else
		{
			q.push(d[i].t1);
			ans-=d[i].t1;
		//	cout<<ans<<' ';
			res++;
		}
	}
	cout<<res;
	return 0;
}
2024/9/30 16:42
加载中...