8分求条(玄关)
查看原帖
8分求条(玄关)
1258210
pipilong2024楼主2025/1/23 09:27
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn=1e5+10;
int n,f[maxn];
struct Node{
	int d,p;
	bool operator<(const Node& x)const{
		return (x.d==d)?(p<x.p):(d>x.d);
	}
}a[maxn];
priority_queue<Node>q;
signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++) cin>>a[i].d>>a[i].p;
	for(int i=1;i<=n;i++) if(a[i].d<=1e9) q.push(a[i]);
 	int now=0,ans=0;
	while(!q.empty()){
		int d=q.top().d,p=q.top().p;q.pop();
		if(now>d) continue;
		now=d+1,ans+=p;
	}
	cout<<ans;
	return 0;
}
2025/1/23 09:27
加载中...