#include <bits/stdc++.h>
using namespace std;
struct node{long long beg,end,num,maxn;};
int main(){
long long c,q,sum=0;
cin>>c>>q;
vector<node>a;
for(long long i=1;i<=q;i++){
long long tmp;cin>>tmp;
if(tmp==1){
cin>>tmp;
node tmpn;
tmpn.beg=1,tmpn.end=tmp;
tmpn.num=tmp;
tmpn.maxn=tmp;
a.push_back(tmpn);
}else if(tmp==2){
cin>>tmp;
while(tmp){
if(tmp>=a[0].num){
tmp-=a[0].num;
a.erase(a.begin());
}
else{
a[0].beg+=tmp;
a[0].num-=tmp;
tmp=0;
}
}
}else if(tmp==3){
cin>>tmp;
int ind=0;
while(tmp-a[ind].num>0&&tmp>=0){
//cout<<ind<<" "<<tmp<<" "<<a[ind].num<<endl;
tmp-=a[ind].num;
ind++;
}
cout<<tmp+a[ind].beg-1<<endl;
}else{
long long maxn=0;
for(auto i:a){
maxn=max(maxn,i.maxn);
}
cout<<maxn<<endl;
}
//for(auto i:a){cout<<i.beg<<" "<<i.end<<" "<<i.maxn<<" "<<i.num<<endl;}cout<<endl;
}
}
on Line 38
while(tmp-a[ind].num>0&&tmp>=0){
I change it to
while(tmp-a[ind].num>=0&&tmp>=0){
and I got WA*4
so Why?
顺便修一下我的TLE(bushi
tku