#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define V vector
#define pb push_back
void solve() {
int n;
cin>>n;
int q;
cin>>q;
string s;
cin>>s;
V<V<int>>vp(n);
for (int i=0;i<n;i++) {
vp[i].pb(0);
}
V<int>ans(n,0);
for (int i=1;i<=q;i++) {
string t;
cin>>t;
if (t=="query") {
int a,b;
cin>>a>>b;
a--;
if (vp[a].size()%2==1) {
if (s[a]=='0'){
cout<<ans[a]<<endl;
}
else {
cout<<ans[a]+i-*prev(vp[a].end())<<endl;
}
}
else {
if (s[a]=='1'){
cout<<ans[a]<<endl;
}
else {
cout<<ans[a]+i-*prev(vp[a].end())<<endl;
}
}
}
else {
int a;
cin>>a;
a--;
if (vp[a].size()%2==1) {
if (s[a]=='1') {
ans[a]+=i-*prev(vp[a].end());
}
}
else {
if (s[a]=='0') {
ans[a]+=i-*prev(vp[a].end());
}
}
vp[a].pb(i);
}
}
}
int main() {
solve();
}
# | 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... |