#include<bits/stdc++.h>
using namespace std;
#define int long long
#define pii pair<int,int>
#define ff first
#define ss second
#define pb push_back
#define vi vector<int>
#define fr(i,ii,iii) for(int i=ii;i<iii;i++)
#define TREE int st,int l,int r
#define left st*2,l,(l+r)/2
#define right st*2+1,(l+r)/2+1,r
const int N=2e5+5;
int n,q;
int t[4*N][2];
void upd(TREE,int id,int ind,int val){
if(ind<l or ind>r)return;
if(l==r){
t[st][id]=val;
return;
}
upd(left,id,ind,val);upd(right,id,ind,val);
t[st][id]=(t[st*2][id]^t[st*2+1][id]);
}
int get(TREE,int id,int L,int R){
if(r<L or l>R)return 0;
if(l>=L and r<=R)return t[st][id];
return(get(left,id,L,R)^get(right,id,L,R));
}
main(){
ios_base::sync_with_stdio(NULL);cin.tie(NULL);
cin>>n>>q;
fr(i,1,n+1){
int a;cin>>a;
upd(1,1,n,(i%2),i,a);
}
while(q--){
int Q,a,b;cin>>Q>>a>>b;
if(Q==1){
upd(1,1,n,(a%2),a,b);
}
else{
int sz=b-a+1;
if(sz%2==0){
cout<<"0\n";
continue;
}
cout<<get(1,1,n,(a%2),a,b)<<"\n";
}
}
}
Compilation message (stderr)
xoranges.cpp:30:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
30 | main(){
| ^~~~
# | 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... |