Submission #655088

#TimeUsernameProblemLanguageResultExecution timeMemory
655088DeMen100nsStreet Lamps (APIO19_street_lamps)C++17
20 / 100
1 ms340 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 = 2e5 + 5;
const long long INF = 1e18 + 7;
const int MAXA = 1e9;
const int B = sqrt(N) + 5;

int n, q;
string s;

string tme[105];
void subtask1(){
    tme[1] = s;
    for(int i = 1; i <= q; ++i){
        string type; cin >> type;

        tme[i + 1] = tme[i];

        if (type == "query"){
            int l, r; cin >> l >> r;
            --l; --r;
            int cnt = 0;
            for(int j = 1; j <= i; ++j){
                bool f = true;
                for(int k = l; k < r; ++k){
                    f &= (tme[j][k] == '1');
                }
                cnt += f;
            } cout << cnt << endl;
        } else {
            int p; cin >> p;
            tme[i + 1][p - 1] ^= 1;
        }
    }
}

void subtask2345(){
    //
}

void solve()
{
    cin >> n >> q;
    cin >> s;
    
    if (n <= 100 && q <= 100){
        subtask1();
    } else {
        subtask2345();
    }
}

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...