Submission #1219494

#TimeUsernameProblemLanguageResultExecution timeMemory
1219494AishaXORanges (eJOI19_xoranges)C++20
38 / 100
260 ms4684 KiB
#include <bits/stdc++.h>

using namespace std;

#define int long long

signed main() {
    int n, q;
    cin >> n >> q;

    vector <int> a(n + 1);
    for (int i = 1; i <= n; i ++) cin >> a[i];

    vector <int> p(n + 1);
    for (int i = 1; i <= n; i ++) p[i] = a[i];
    for (int i = 2; i <= n; i ++) p[i] ^= p[i - 2];

    while (q --) {
        int op;
        cin >> op;

        if (op == 1) {
            int i, x;
            cin >> i >> x;

            a[i] = x;
        } else {
            int l, r;
            cin >> l >> r;

            if ((r - l + 1) % 2 == 0) {
                cout << 0 << endl;
                continue;
            }
           // cout << l << ' ' << r << endl;
            int ans = p[r];
            
            ans ^= (l <= 2 ? 0 : p[l - 2]);
            

            cout << ans << endl;
        }
    }

    return 0;
}
#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...