记录编号 429982 评测结果 AAAAAAAAAAAA
题目名称 [USACO Open09] 工作进度 最终得分 100
用户昵称 GravatarHzoi_Ivan 是否通过 通过
代码语言 C++ 运行时间 0.182 s
提交时间 2017-07-29 08:06:37 内存使用 6.49 MiB
显示代码纯文本
#include<iostream>
#include<queue>
#include<cstdio>
#include<algorithm>
#define ll long long
using namespace std;
ll n,t=0,ans,ii=1;
struct gz
{
  ll d,p;
}g[1000001];
priority_queue<int> q;
int comp(gz a,gz b){ return a.d>b.d; };
int god()
{
    freopen("joba.in","r",stdin);
		freopen("joba.out","w",stdout);
   	scanf("%lld",&n);
    for(ll i=1;i<=n;i++){
			scanf("%lld%lld",&g[i].d,&g[i].p);
      if(g[i].d>t)
      t=g[i].d;
    }
    sort(g+1,g+n+1,comp);
    while(g[ii].d>n){
      ans+=g[ii].p;
      ii++;
    }
    for(ll i=n;i>=1;i--){
      while(g[ii].d>=i){
        q.push(g[ii].p);
        ii++;
      }
      if(q.empty()==0){
        ans+=q.top();
        q.pop();
      }
    }
    printf("%lld\n",ans);
    return 0;
}
int ryf=god();
int main(){;}