Submission #1247607

#TimeUsernameProblemLanguageResultExecution timeMemory
1247607akmuhammet_sXORanges (eJOI19_xoranges)C++20
38 / 100
46 ms3148 KiB
#include<algorithm>
#include<iostream>
#include<string.h>
#include<string>
#include<vector>
#include<math.h>
#include<map>
#include<set>
using namespace std;
#define mod 998244353
#define ll long long
#define N 24
#define maxn 200005

void solve(){
	int n,q;
	cin>>n>>q;
	int a[n+5],xr[n+5];
	xr[0]=0;
	for(int i=1; i<=n; i++){
		cin>>a[i];
		if(i<=2){
			xr[i]=a[i];
		}else{
			xr[i]=xr[i-2]^a[i];
		}
	}
	for(int i=1; i<=q; i++){
		int x,y,z;
		cin>>x>>y>>z;
		if(x==1){
			a[y]=z;
		}else{
			if((y-z+1)%2==0){
				cout<<0<<'\n';
			}else{
				if(y<=2){
					cout<<xr[z]<<'\n';
				}else{
					int ans=xr[z];
					ans=ans^xr[y-2];
					cout<<ans<<'\n';
				}
			}
		}
	}
}
 
int main(){
	ios_base::sync_with_stdio(0); cin.tie(0);
	ll t=1;
	// cin>>t;
	while(t--) solve();
}
#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...