下面的代码已经40分了
```cpp
#include <bits/stdc++.h>
using namespace std;
struct Work
{
long long Deadline;
long long Prize;
};
Work work[1000001];
int cmp(Work a,Work b)
{
//if(a.Deadline==b.Deadline)
//{
// return a.Prize>b.Prize;
//}
return a.Deadline<b.Deadline;
}
priority_queue <long long,vector <long long>,greater<long long> > q;
int main()
{
int N,tot=0;
scanf("%d",&N);
for(int i=1;i<=N;i++)
{
scanf("%lld%lld",&work[i].Deadline,&work[i].Prize);
}
sort(work+1,work+N+1,cmp);
for(int i=1;i<=N;i++)
{
if(q.size()<work[i].Deadline)
{
q.push(work[i].Prize);
tot+=work[i].Prize;
}
else if(q.size()>=work[i].Deadline)
{
if(work[i].Prize>q.top())
{
tot-=q.top();
q.pop();
q.push(work[i].Prize);
tot+=work[i].Prize;
}
}
}
printf("%lld\n",tot);
return 0;
}
```
by floatery @ 2018-12-19 19:22:16
我知道了
十年OI一场空,没开long long见祖宗
by floatery @ 2018-12-19 19:38:13
%%%
by 初墨 @ 2018-12-19 19:53:19
@[chenaihu](/space/show?uid=132953) 我是蒟蒻
by floatery @ 2018-12-19 20:12:48