码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 1789

时间:2019-05-04 20:06:17      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:mil   namespace   const   ace   algo   str   --   names   map   

优先队列

#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<string.h>
#include<map>
#include<queue>
using namespace std;
#define ll long long
const int N=1e6+10;
struct node
{
int data,score;
friend bool operator <(node a,node b)
{
return a.score>b.score;
}
} p[N];
bool cmp(node a,node b)
{
if(a.data==b.data)
return a.score>b.score;
return a.data<b.data;
}
int b[N];
int dp[N];
int main()
{
int T,j,n,i,sum;
scanf("%d",&T);
while(T--)
{
node m;
sum=0;
priority_queue<node>Q;
memset(p,0x3f3f3f3f,sizeof(p));
scanf("%d",&n);
for(i=0; i<n; i++)
scanf("%d",&p[i].data);
for(i=0; i<n; i++)
scanf("%d",&p[i].score);
sort(p,p+n,cmp);
for(i=0,j=1;i<n;i++)
{
if(j<=p[i].data)
{
Q.push(p[i]);
j++;
}
else
{
m=Q.top();
if(m.score<p[i].score)
{
sum+=m.score;
Q.pop();
Q.push(p[i]);
}
else
{
sum+=p[i].score;
}
}
}
printf("%d\n",sum);
}
return 0;
}

HDU 1789

标签:mil   namespace   const   ace   algo   str   --   names   map   

原文地址:https://www.cnblogs.com/zl1998/p/10809524.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!