This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n;int Q;
string tss;
int ar[300005];
string typ[300005];int qa[300005];int qb[300005];
int ps[300005];
int ans[300005];
int ap[300005];
int lst[300005];
vector<int>tme[300005];
signed main(){
cin>>n>>Q;
cin>>tss;tss="*"+tss;
for(int i=1;i<=n;i++){
ar[i]=tss[i]-'0';
if(ar[i]){
tme[i].push_back(0);
}
}
for(int i=1;i<=Q;i++){
cin>>typ[i];
if(typ[i][0]=='q'){
cin>>qa[i]>>qb[i];
if(tme[qa[i]].size()%2==0){
cout<<ap[qa[i]]<<endl;
}else{
cout<<ap[qa[i]]+i-tme[qa[i]].back()<<endl;
}
}else{
cin>>qa[i];
if(tme[qa[i]].size()%2==1){
ap[qa[i]]+=i-tme[qa[i]].back();
tme[qa[i]].push_back(i);
}else{
tme[qa[i]].push_back(i);
}
}
}
return 0;
for(int i=1;i<=n;i++){
ps[i]=ps[i-1]+ar[i];
}
for(int i=1;i<=Q;i++){
}
for(int i=1;i<=Q;i++){
if(typ[i][0]=='q'){
cout<<ans[i]<<"\n";
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |