#include<iostream>
#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<deque>
#include<stack>
#include<string>
#include<math.h>
#include<vector>
#include<stdio.h>
#include<utility>
#include<iomanip>
#include<string.h>
#include<limits.h>
#include<algorithm>
#include<functional>
#include<unordered_map>
using namespace std;
#pragma GCC target("popcnt")
#define MOD 1000000007
#define int long long
#define ss second
#define ff first
#define endl '\n'
void solve(){
int n,q; cin>>n>>q;
vector<int> a(n+1);
for(int i=1; i<=n; i++) cin>>a[i];
while(q--){
int t; cin>>t;
if(t==1){
int i,v; cin>>i>>v;
a[i]=v;
}else{
int l,r; cin>>l>>r;
if((r-l+1)%2){
int ans=0;
for(int i=l; i<=r; i+=2){
ans^=a[i];
}
cout<<ans<<endl;
}else{
cout<<0<<endl;
}
}
}
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int T=1;
// cin>>T;
while(T--){
solve();
cout<<endl;
}
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... |