您的位置:首页 > 其它

cdoj1334郭大侠与Rabi-Ribi

2016-05-03 18:15 453 查看

 地址:http://acm.uestc.edu.cn/#/problem/show/1334

题目:

郭大侠与Rabi-Ribi

Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others)
Submit Status

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <queue>
#include <stack>
#include <map>
#include <vector>
#include <cstdlib>
#include <string>
#include <bitset>

#define PI acos((double)-1)
#define E exp(double(1))
#define K 1000000
using namespace std;
vector<pair<int,int> >p;
priority_queue<int>q;
bool cmp(pair<int,int> c ,pair<int,int>d)
{
return c.first>d.first;
}
int main(void)
{
int n,ans=0,temp;
cin>>n;
for(int i=1;i<=n;i++)
{
scanf("%d",&temp);
p.push_back(make_pair(temp,0));
}

for(int i=0;i<n;i++)
scanf("%d",&p[i].second);
sort(p.begin(),p.end(),cmp);
for(int i=p[0].first,t=0;i>0&&t<n;i--)
{
while(p[t].first==i && t<n)
q.push(p[t++].second);
if(!q.empty())
{
ans+=q.top();
q.pop();
}

}
printf("%d\n",ans);
return 0;
}
View Code  

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: