社区讨论
求调悬关
P9588「MXOI Round 2」队列参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mhke28ut
- 此快照首次捕获于
- 2025/11/04 17:50 4 个月前
- 此快照最后确认于
- 2025/11/04 17:50 4 个月前
双端队列做法:
CPP#include<bits/stdc++.h>
using namespace std;
deque<int>a;
int c,q;
int cz;
int maxn;
void s1(int aaa)
{
for(int i=1;i<=aaa;i++)
{
a.push_back(i);
}
}
void s2(int bbb)
{
for(int i=1;i<=bbb;i++)a.pop_front();
}
void s3(int ccc)
{
stack<int>sta;
for(int i=1;i<=ccc;i++)
{
if(i==ccc)
{
cout<<a.front()<<"\n";
break;
}
int b_1=a.front();
a.pop_front();
sta.push(b_1);
}
for(int i=1;i<=ccc;i++)
{
int b_2=sta.top();
sta.pop();
a.push_front(b_2);
}
}
void s4()
{
int abc=a.size();
stack<int>sta;
for(int i=1;i<=abc;i++)
{
int b_1=a.front();
a.pop_front();
sta.push(b_1);
if(b_1>maxn)maxn=b_1;
}
for(int i=1;i<=abc;i++)
{
int b_2=sta.top();
sta.pop();
a.push_front(b_2);
}
}
int main()
{
cin>>c>>q;
for(int i=1;i<=q;i++)
{
cin>>cz;
if(cz==1)
{
int aaa;
cin>>aaa;
s1(aaa);
}
else if(cz==2)
{
int bbb;
cin>>bbb;
s2(bbb);
}
else if(cz==3)
{
int ccc;
cin>>ccc;
s3(ccc);
}
else if(cz==4)
{
maxn=-1;
s4();
cout<<maxn<<"\n";
}
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...