Submission #396592

#TimeUsernameProblemLanguageResultExecution timeMemory
396592mosiashvililukaStreet Lamps (APIO19_street_lamps)C++14
40 / 100
604 ms23892 KiB
#include<bits/stdc++.h> using namespace std; int a,b,c,d,e,i,j,ii,jj,zx,xc,tes,t,f[300009],pas,sub2,fx[300009],fx2[300009],ans[300009]; pair <string, pair <int, int> > p[300009]; string S; int els(int q){ if(q==0) return 1; else return 0; } int main(){ ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0); cin>>a>>tes; cin>>S; S.insert(0,"0"); p[0].first="W"; for(i=1; i<=a; i++){ f[i]=S[i]-'0'; } a++; for(t=1; t<=tes; t++){ cin>>p[t].first; if(p[t].first[0]=='q'){ cin>>p[t].second.first>>p[t].second.second; }else{ cin>>p[t].second.first; } } sub2=0; for(t=1; t<=tes; t++){ if(p[t].first[0]=='q'){ if(p[t].second.second!=p[t].second.first+1){ sub2=1; break; } } } if(sub2==0){ for(i=1; i<=a; i++){ if(f[i]==1){ fx[i]=0; fx2[i]=1; } } for(t=1; t<=tes; t++){ if(p[t].first[0]=='t'){ c=p[t].second.first; if(fx2[c]==0){ fx[c]=t; fx2[c]=1; }else{ ans[c]+=t-fx[c]; fx2[c]=0; } }else{ c=p[t].second.first; if(fx2[c]==0){ cout<<ans[p[t].second.first]<<endl; }else{ cout<<ans[p[t].second.first]+t-fx[c]<<endl; } } } return 0; } if(a<=102&&tes<=102){ for(i=1; i<=tes; i++){ if(p[i].first[0]=='t'){ f[p[i].second.first]=els(f[p[i].second.first]); continue; } pas=0; for(ii=i-1; ii>=0; ii--){ for(j=p[i].second.first; j<p[i].second.second; j++){ if(f[j]==0) break; } if(j==p[i].second.second){ pas++; } if(p[ii].first[0]=='t'){ f[p[ii].second.first]=els(f[p[ii].second.first]); } } for(ii=1; ii<=i-1; ii++){ if(p[ii].first[0]=='t'){ f[p[ii].second.first]=els(f[p[ii].second.first]); } } cout<<pas<<endl; } exit(0); } 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...
#Verdict Execution timeMemoryGrader output
Fetching results...