@ 蒟蒻·廖子阳,你是怎么4道题都做出来的
#include<bits/stdc++.h>
using namespace std;
long long n,m;
long long a[10000001];
int l,cnt;
int main(){
cin>>n>>m;
if(2*n<=m){
cout<<0<<endl;
return 0;
}
if(m==n+1){
cout<<(m-3)*2+2<<endl;
return 0;
}
for(int i=1;i<=m;i++){
a[i]=1;
}
l=m-n;
int k=0;
for(int i=1;i<=m;i++){
if(i%2==1){
k++;
a[i]=0;
}
if(k==l){
break;
}
}
// for(int i=1;i<=m;i++){
// cout<<a[i]<<' ';
// }
for(int i=1;i<=m;i++){
if(a[i]==1){
if(i==1){
if(a[m]==1){
cnt++;
}
if(a[i+1]==1){
cnt++;
}
}else if(i==m){
if(a[1]==1){
cnt++;
}
if(a[m-1]==1){
cnt++;
}
}else{
if(a[i-1]==1){
cnt++;
}
if(a[i+1]==1){
cnt++;
}
}
}
}
cout<<cnt<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
long long c,que;
queue<long long> q;
long long a[1000001];
int main(){
cin.sync_with_stdio(0);
cin.tie(0);
cin>>c>>que;
while(que--){
int op;
cin>>op;
if(op==1){
int x;
cin>>x;
for(int i=1;i<=x;i++){
q.push(i);
}
}else if(op==2){
int x;
cin>>x;
for(long long i=1;i<=x;i++){
q.pop();
}
}else if(op==3){
long long z,o=q.size();
cin>>z;
memset(a,0,sizeof a);
for(long long i=1;i<=o;i++){
a[i]=q.front();
if(i==z){
cout<<a[i]<<endl;
}
q.pop();
}
for(long long i=1;i<=o;i++){
q.push(a[i]);
}
}else if(op==4){
long long mx=INT_MIN,o=q.size();
memset(a,0,sizeof a);
for(long long i=1;i<=o;i++){
a[i]=q.front();
mx=max(a[i],mx);
q.pop();
}
for(long long i=1;i<=o;i++){
q.push(a[i]);
}
cout<<mx<<endl;
}
}
return 0;
}
