Submission #527036

#TimeUsernameProblemLanguageResultExecution timeMemory
527036LoboStreet Lamps (APIO19_street_lamps)C++17
20 / 100
1 ms588 KiB
#include<bits/stdc++.h>
using namespace std;

const long long inf = (long long) 1e18 + 10;
const int inf1 = (int) 1e9 + 10;
#define int long long
#define dbl long double
#define endl '\n'
#define sc second
#define fr first
#define mp make_pair
#define pb push_back
#define all(x) x.begin(), x.end()

#define maxn 

int n, q, s1[110][110];

void solve() {
    string est;
    cin >> n >> q >> est;

    for(int i = 1; i <= n; i++) {
        s1[i][0] = est[i-1]-'0';
    }

    for(int i = 1; i <= q; i++) {
        for(int j = 1; j <= n; j++) {
            s1[j][i] = s1[j][i-1];
        }

        string sss; cin >> sss;
        if(sss == "toggle") {
            int pos; cin >> pos;
            s1[pos][i]^= 1;
            continue;
        }

        int l,r; cin >> l >> r;
        r--;
        int ans = 0;
        for(int j = 0; j < i; j++) {
            int ok = 1;
            for(int k = l; k <= r; k++) {
                if(s1[k][j] == 0) ok = 0;
            }
            ans+= ok;
        }

        cout << ans << endl;
    }


}

int32_t main() {
    ios::sync_with_stdio(false); cin.tie(0);

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

    int tt = 1;
    // cin >> tt;
    while(tt--) 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...