Submission #1240621

#TimeUsernameProblemLanguageResultExecution timeMemory
1240621LM1XORanges (eJOI19_xoranges)C++20
0 / 100
104 ms9912 KiB
#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<<"\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 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...