题目描述
有一个队列支持入队、出队、查找队首元素、查找队中最大值的操作,请编程实现这个队列,执行q次操作,每次输入一个t,如果t的值为1表示入队,再输入一个整数表示入队元素;如果t的值为2,表示出队一个元素;如果t的值为3,输出队首元素的值;如果t的值为4,输出队列中的最大值。(不能使用 cin cout,队列初始为空,当t为2、3、4时保证队列非空)。
输入描述
输入 q + 1行,第一行输入一个正整数q,表示操作的次数。 第2~q+1行,每行输入一个整数t(1<=t<=4),如果t为1,再输入一个整数表示入队元素。 数据说明: 前40%的数据 1 <= t <=3 前60%的数据 q <= 103 100%的数据 q <= 5 * 105 ,入队元素在int范围内。
输出描述 输出若干行,为查找操作的结果,换行分隔。
样例 输入 6 1 7 1 2 1 5 2 3 4 输出 2 5
#include<bits/stdc++.h>
using namespace std;
struct queueue{
int a,b;
};
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
int n;
queueue q[500005];
queue<int>qu;
cin>>n;
for(int i=0;i<n;i++){
cin>>q[i].a;
if(q[i].a==1)cin>>q[i].b;
}
for(int i=0;i<n;i++){
if(q[i].a==1)qu.push(q[i].b);
else if(q[i].a==2)qu.pop();
else if(q[i].a==3)cout<<qu.front();
}
return 0;
}
ID 判题状态 分数 运行时间/内存
1 答案错误 0 0ms/3MB
4 答案错误 0 0ms/3MB
5 答案错误 0 0ms/3MB
6 答案错误 0 0ms/3MB
7 答案错误 0 48ms/5MB
8 答案错误 0 73ms/7MB
9 答案错误 0 74ms/7MB
10 答案错误 0 59ms/7MB
2 答案正确 10 1ms/2MB
3 答案正确 10 1ms/3MB
20分求调qwq