CodeForces - 799B-T-shirt buying (优先队列)
2024-09-28 05:08:33
/*
Name:
Copyright:
Author:
Date: 2018/5/2 16:09:54
Description:优先队列
*/
#include <iostream>
#include <cstdio>
#include <vector>
#include <cstring>
#include <queue>
using namespace std;
const int MAXN = ;
int price[MAXN];
struct tshirt{
int index, pri;
tshirt(int i){
this->index = i;
this->pri = price[i] ;
};
bool operator <(const tshirt& lpm) const {
return pri > lpm.pri;
}
};
int main()
{
int n;
while (scanf("%d", &n) != EOF) {
priority_queue<tshirt> lev[];
memset(price, , sizeof(price));
for (int i=; i<n; i++)
scanf("%d", &price[i]);
int level;
for (int i=; i<n; i++) {
scanf("%d", &level);
tshirt demo(i);
lev[level].push(demo);
}
for (int i=; i<n; i++) {
scanf("%d", &level);
tshirt demo(i);
lev[level].push(demo);
}
int num, fav;
scanf("%d", &num);
for (int i=; i<num; i++) {
scanf("%d", &fav);
if (lev[fav].empty() ){
cout<<-<<" ";
continue;
}
int value = ;
while (!lev[fav].empty() && !value) {
if (price[lev[fav].top().index] == -) {//去掉重复的
lev[fav].pop();
} else {
value = ;
cout<<lev[fav].top().pri<<" ";
price[lev[fav].top().index] = -;
lev[fav].pop();
}
}
if (!value){
cout<<-<<" ";
}
}
cout<<endl;
}
return ;
}
最新文章
- codeforces 360 C
- MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建
- angularJs模块ui-router之路由控制
- 【Highcharts】 绘制饼图和漏斗图
- HP P1008打印机如何打印特殊纸张
- JavaScript document
- STM32的串口
- Linux2.6内核--内存管理(2)--区
- Js创建对象的做法
- how tomcat works 读书笔记 十一 StandWrapper 下
- 第31月第25天 xcode debug 限制uitextfiled输入
- LightOJ - 1245 Harmonic Number (II) 求同值区间的和
- 教你构建好 SpringBoot + SSM 框架
- 洛谷 P1412 经营与开发 解题报告
- C# 文件过滤器filter
- linnux-shell知识
- T4模板_T4基本结构
- EditPlus 4.3.2477 中文版已经发布(11月3日更新)
- php 必须了解提升的知识
- [典型漏洞分享]Insert型SQL注入的发现和利用,篡改订单金额