RE求调
查看原帖
RE求调
1324175
__Function__楼主2025/7/2 21:00
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 2e5 + 10;
struct node{
	int t, qx;
};
node crq[N];
bool cmp(node a, node b) {
	return a.qx < b.qx;
}
priority_queue<int> q;
signed main() {
	ios::sync_with_stdio(0);
	cin.tie(0), cout.tie(0);
	int n, ans = 0, sum = 0;
	cin >> n;
	for (int i = 1; i <= n; i ++) {
		cin >> crq[i].t >> crq[i].qx;
	}
	sort(crq + 1, crq + n + 1, cmp);
	for (int i = 1; i <= n; i ++) {
		if(sum + crq[i].t <= crq[i].qx) sum += crq[i].t, ans ++, q.push(crq[i].t);
		else if(crq[i].t < q.top() && sum + crq[i].t - q.top() <= crq[i].qx) {
			sum = sum + crq[i].t - q.top();
			q.pop();
			q.push(crq[i].t);
		}
	}
	cout << ans;
	return 0;
} 

PS:不要管CRQ是什么

2025/7/2 21:00
加载中...