当前位置:网站首页>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;
}
边栏推荐
猜你喜欢
Lombok makes ⽤ @data and @builder's pit at the same time. Are you hit?
Go language learning notes - first acquaintance with go language
Question bank and answers of special operation certificate examination for main principals of hazardous chemical business units in 2022
[JS] extract the scores in the string, calculate the average score after summarizing, compare with each score, and output
[advertising system] incremental training & feature access / feature elimination
数据库三大范式
2022 t elevator repair operation certificate examination questions and answers
基础篇——REST风格开发
关于 “原型” 的那些事你真的理解了吗?【上篇】
Codeforces Round #804 (Div. 2)
随机推荐
-26374 and -26377 errors during coneroller execution
DOM//
[first release in the whole network] (tips for big tables) sometimes it takes only 1 minute for 2 hours of SQL operation
websocket
How to introduce devsecops into enterprises?
How can edge computing be combined with the Internet of things?
Process control
Leetcode 185 All employees with the top three highest wages in the Department (July 4, 2022)
基础篇——REST风格开发
【爬虫】charles unknown错误
shell脚本文件遍历 str转数组 字符串拼接
关于vray 5.2的使用(自研笔记)(二)
BOM//
Honing · fusion | know that the official website of Chuangyu mobile terminal is newly launched, and start the journey of digital security!
Summary of thread and thread synchronization under window
分类TAB商品流多目标排序模型的演进
Bidirectional RNN and stacked bidirectional RNN
C language current savings account management system
32: Chapter 3: development of pass service: 15: Browser storage media, introduction; (cookie,Session Storage,Local Storage)
LSTM applied to MNIST dataset classification (compared with CNN)