Submission #1219255

#TimeUsernameProblemLanguageResultExecution timeMemory
1219255mariamtsagareliXORanges (eJOI19_xoranges)C++20
0 / 100
44 ms2512 KiB
#include <bits/stdc++.h>
using namespace std;
int n,q,a[200005];
struct T{
    int b[200005];

    void u(int i, int v) {
        while(i<=n) {
            b[i]^=v;
            i+=(i & -i);
        }
    }
    int q(int i) {
        int r=0;
        while(i){
            r^=b[i];
            i-=(i & -i);
        }
        return r;
    }
};

T t[2];
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cin >>n >>q;
    for (int i=1;i<=n;++i) {
        cin>>a[i];
        t[i%2].u(a[i], i);
    }
    while(q--){
        int c,x,y;
        cin>>c>>x>>y;
        if (c==1){
            t[x%2].u(a[x]^y, x);
            a[x]=y;
        } else {
            if ((x+y)%2){
                cout<<"0\n";
            } else {
                int p=x%2;
                cout <<(t[p].q(y)^t[p].q(x - 1))<<'\n';
            }
        }
    }

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