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