标签:
3 3 10 3 5 3 1 3 1 6 3 2 1 3 7 1 3 4 2 6 1 4 7 2 6 4 5 3 4
0 3 5
#include<cstdio>
#include<queue>
#include<algorithm>
using namespace std;
struct exam
{
int gra,date;
}arr[1002];
bool cmp(exam a,exam b)
{
if(a.date==b.date) return a.gra<b.gra;
return a.date<b.date;
}
exam temp;
priority_queue<int,vector<int>,greater<int> >q;
int main()
{
int t,n,i;
while(~scanf("%d",&t))
{
while(!q.empty()) q.pop();//队列初始化
for(i=0;i<t;++i)
{
scanf("%d%d",&arr[i].date,&arr[i].gra);
}
sort(arr,arr+t,cmp);
int sum=0;
//int day=0;
for(i=0;i<t;++i)
{
if(q.size()<arr[i].date) q.push(arr[i].gra); //q.size()当成天数
else//就要扣分了,不过要尽量扣得最少
{
if(q.top()<arr[i].gra)
{
sum += q.top();
q.pop();
q.push(arr[i].gra);
}
else
{
sum+=arr[i].gra;
}
}
//++day;
}
printf("%d\n",sum);
}
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/yuzhiwei1995/article/details/47108387