听取WA声一片
  • 板块学术版
  • 楼主csf02vv03
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/4/26 20:22
  • 上次更新2024/4/26 22:43:05
查看原帖
听取WA声一片
815514
csf02vv03楼主2024/4/26 20:22

题目描述

有一个队列支持入队、出队、查找队首元素、查找队中最大值的操作,请编程实现这个队列,执行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
2024/4/26 20:22
加载中...