优先队列做,然后遍历人数。

#include <queue>
#include <stdio.h>
#include <string.h>
#define maxn 150010
using namespace std;
struct node
{
int id;
int val;
friend bool operator < (node a ,node b){
if(a.val==b.val)
return a.id > b.id;
return a.val < b.val;
}
}a[maxn];
priority_queue<node>q;
int n,x[maxn],ans[maxn];
char name[maxn][];
int main()
{
int i,j,t,m,p;
scanf("%d", &t);
while(t--)
{
scanf("%d %d %d", &n, &m, &p);
memset(x,,sizeof(x));
for(i=; i<=n; i++)
{
scanf("%s %d", name[i], &a[i].val);
a[i].id=i;
ans[i]=;
}
for(i=; i<m; i++)
{
int fx,fy;
scanf("%d %d", &fx, &fy);
x[fx]=fy;
}
int cou=;
for(i=;i<=n;i++)
{
q.push(a[i]);
for(j=;j<x[i]&&!q.empty();j++)
{
node tt=q.top();
q.pop();
ans[cou++]=tt.id;
}
}
while(!q.empty())
{
node tt=q.top();
q.pop();
ans[cou++]=tt.id;
}
int flag=;
while(p--)
{
int fp;
scanf("%d",&fp);
if(!flag)
printf("%s",name[ans[fp]]);
else printf(" %s",name[ans[fp]]);
flag=;
}
printf("\n");
}
}

最新文章

  1. Python成长笔记 - 基础篇 (七)python面向对象
  2. java POI实现向Excel中插入图片
  3. 如何对Redis设置密码,提高安全性
  4. mousewheel
  5. 写一个 nodejs npm应用 - webhere
  6. 初识UIScrollView
  7. Windows下adb push 总是提示Failed to copy &quot;XX.apk&quot; to &#39;system/app&#39;:Read-only file system
  8. winform:无法引用其他类库,dll,using等个人看法【图】
  9. MVC中实现部分内容异步加载
  10. Codeforces Round #310 (Div. 2)--A(简单题)
  11. (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  12. div里面的margin-top失效
  13. .NET Framework 各个版本介绍
  14. voa 2015 / 4 / 25
  15. TCP(控制传输协议)详解
  16. C语言实例:类型转换
  17. Git使用过程中的问题
  18. Python全栈开发-Day8-Socket网络编程
  19. 一次jenkins的错误
  20. .Net 上传文件和下载文件

热门文章

  1. 009-python一些问题整理
  2. MySQL用户权限详细汇总
  3. java普通for循环和for-each迭代循环的区别
  4. 1858: [Scoi2010]序列操作
  5. 如何确定要对DIV设置什么CSS属性样式呢?
  6. c#的DateTime的各种字符串格式
  7. 洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes【取回文数/数论/字符串】
  8. zk运维注意事项
  9. tomcat9下载与安装
  10. RQNOJ PID192 梦幻大PK [2017年6月计划 二分图02]