Submission #655090

#TimeUsernameProblemLanguageResultExecution timeMemory
655090DeMen100nsStreet Lamps (APIO19_street_lamps)C++17
20 / 100
429 ms8880 KiB
/*
Author : DeMen100ns (a.k.a Vo Khac Trieu)
School : VNU-HCM High school for the Gifted
fuck you adhoc
*/

#include <bits/stdc++.h>

using namespace std;

const int N = 3e5 + 5;
const long long INF = 1e18 + 7;
const int MAXA = 1e9;
const int B = sqrt(N) + 5;

int n, q;
string s;

int last[N];
int sum[N];

inline void subtask2(){
    s = " " + s;

    for(int i = 1; i <= q; ++i){
        string type; cin >> type;
        if (type == "query"){
            int l, r; cin >> l >> r;

            int ans = sum[l];
            if (s[l] == '1'){
                ans += (i - last[l]);
            }
            cout << ans << endl;
        } else {
            int p; cin >> p;

            if (s[p] == '1'){
                sum[p] += (i - last[p]);
            }

            last[p] = i;
            s[p] ^= 1;
        }
    }
}

void solve()
{
    cin >> n >> q;
    cin >> s;
    
    subtask2();
}

signed main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    // freopen("codeforces.inp","r",stdin);
    // freopen("codeforces.out","w",stdout);

    int t = 1; // cin >> t;
    while (t--)
    {
        solve();
    }
}
#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...