Submission #583291

#TimeUsernameProblemLanguageResultExecution timeMemory
583291mosiashvililukaZIGZAG (INOI20_zigzag)C++14
8 / 100
2091 ms2656 KiB
#include<bits/stdc++.h> using namespace std; long long a,b,c,d,e,i,j,ii,jj,zx,xc,tes,t,f[300009],pas,ZX,XC; char tp; int main(){ ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0); cin>>a>>tes; for(i=1; i<=a; i++) cin>>f[i]; for(t=1; t<=tes; t++){ cin>>tp; if(tp=='*'){ cin>>c>>d; for(i=c; i<=d; i++) f[i]=-f[i]; continue; } if(tp=='+'){ cin>>c>>d>>e; for(i=c; i<=d; i++){ f[i]+=e; } continue; } if(tp=='?'){ cin>>c>>d;pas=0; /*for(i=d; i>=c; i--){ pas++;e=0; for(j=i-1; j>=c; j--){ if(f[j]==f[j+1]) break; if(f[j]<f[j+1]){ if(e==-1) break; e=-1; }else{ if(e==1) break; e=1; } pas++; } }*/ pas=1; zx=1;xc=1; for(i=d-1; i>=c; i--){ if(f[i]==f[i+1]){ pas++; zx=1;xc=1; //cout<<i<<" "<<pas<<"\n"; continue; } pas++; if(f[i]<f[i+1]){ pas+=xc; ZX=xc+1;XC=1; zx=ZX;xc=XC; }else{ pas+=zx; ZX=1;XC=zx+1; zx=ZX;xc=XC; } //cout<<i<<" "<<pas<<"\n"; } cout<<pas<<"\n"; continue; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...