当前位置:网站首页>Zcmu--1390: queue problem (1)
Zcmu--1390: queue problem (1)
2022-07-05 11:17:00 【Little why】
Description
Given a queue q, Each element in the queue has two attributes name and pri. For queues 3 The operations in are : 1 name pri Represents adding... To the queue (name,pri) This element . 2 Represents in the output queue pri The highest element name And remove the element from the queue . 3 Represents in the output queue pri Of the lowest element name And remove the element from the queue . Suppose the queue is initially empty , And all elements name The values are different ,pri Values also vary . Given a number of operations , about 2 and 3 The operation outputs the name.
Input
Each line of input represents an operation , If the input is 0 End .(1<=name,pri<=10^6)
Output
For each 2 and 3 operation , Output the corresponding value . If there are no elements in the queue, output 0.
Sample Input
2
1 20 14
1 30 3
2
1 10 99
3
2
2
0
Sample Output
0
20
30
10
0
analysis : Because it will be based on pri Maximum value to output name , This one uses set It's very convenient , because set It will automatically sort and store , We can quickly find the most value in the queue , As for the output corresponding name, one-on-one , So we use map It's very convenient !
#include <stdio.h>
#include <map>
#include <set>
using namespace std;
int main()
{
map<int,int>mp;
set<int>st;
int z,a,b;
while(~scanf("%d",&z),z!=0){
if(z==1){ // Instructions 1
scanf("%d%d",&a,&b);
st.insert(b); // Deposit in set in
mp[b]=a; // Corresponding settings name
}else if(z==2){ // Instructions 2
if(st.size()){ // If it's not empty
printf("%d\n",mp[*st.rbegin()]);//*st.rbegin() Represents the last element value
st.erase(--st.end()); // Delete the last element
}else printf("0\n"); // Null output 0
}else{ // Instructions 3
if(st.size()){ // ditto
printf("%d\n",mp[*st.begin()]);
st.erase(st.begin());
}else printf("0\n");
}
}
return 0;
}
边栏推荐
- Some understandings of heterogeneous graphs in DGL and the usage of heterogeneous graph convolution heterographconv
- How can edge computing be combined with the Internet of things?
- 关于vray 5.2的使用(自研笔记)(二)
- msfconsole命令大全,以及使用说明
- websocket
- 我用开天平台做了一个城市防疫政策查询系统【开天aPaaS大作战】
- 购买小间距LED显示屏的三个建议
- vite//
- 爬虫(9) - Scrapy框架(1) | Scrapy 异步网络爬虫框架
- Go language learning notes - analyze the first program
猜你喜欢
如何将 DevSecOps 引入企业?
A mining of edu certificate station
【广告系统】增量训练 & 特征准入/特征淘汰
Wechat nucleic acid detection appointment applet system graduation design completion (7) Interim inspection report
9、 Disk management
NFT 交易市场主要使用 ETH 本位进行交易的局面是如何形成的?
无密码身份验证如何保障用户隐私安全?
DDRx寻址原理
go语言学习笔记-初识Go语言
Characteristics and electrical parameters of DDR4
随机推荐
Lombok makes ⽤ @data and @builder's pit at the same time. Are you hit?
NFT 交易市场主要使用 ETH 本位进行交易的局面是如何形成的?
How can edge computing be combined with the Internet of things?
R3Live系列学习(四)R2Live源码阅读(2)
如何将 DevSecOps 引入企业?
Characteristics and electrical parameters of DDR4
Detailed explanation of DDR4 hardware schematic design
FreeRTOS 中 RISC-V-Qemu-virt_GCC 的调度时机
Cron表达式(七子表达式)
Beego cross domain problem solution - successful trial
Paradigm in database: first paradigm, second paradigm, third paradigm
[SWT component] content scrolledcomposite
Web Components
2022 t elevator repair operation certificate examination questions and answers
About the use of Vray 5.2 (self research notes) (II)
Ddrx addressing principle
[first release in the whole network] (tips for big tables) sometimes it takes only 1 minute for 2 hours of SQL operation
matlab cov函数详解
Operation of simulated examination platform of special operation certificate examination question bank for safety production management personnel of hazardous chemical production units in 2022
R3live series learning (IV) r2live source code reading (2)