이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
const int mxN = 3e5 + 7;
int n, q, arr[mxN], res[mxN], on[mxN];
int32_t main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    cin >> n >> q;
    for (int i = 1; i <= n; ++i) {
        char c;
        cin >> c;
        if (c == '1') {
            arr[i] = 1;
        }
        on[i] = -1;
    }
    for (int i = 1; i <= n; ++i) {
        if (arr[i]) {
            on[i] = 0;
        }
    }
    
    for (int i = 1; i <= q; ++i) {
        string t;
        cin >> t;
        if (t[0] == 'q') {
            int a, b;
            cin >> a >> b;
            
            cout << res[a] + (on[a] != -1 ? i - on[a] : 0) << "\n";
        }
        else {
            int ind;
            cin >> ind;
            arr[ind] ^= 1;
            if (arr[ind]) {
                assert(on[ind] == -1);
                on[ind] = i;
            }
            else {
                res[ind] += i - on[ind];
                on[ind] = -1;
            }
        }
    }
}
| # | 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... |