Submission #819790

#TimeUsernameProblemLanguageResultExecution timeMemory
819790Andrijanikolic73XORanges (eJOI19_xoranges)C++17
0 / 100
1068 ms7468 KiB
#include <bits/stdc++.h> #define pb push_back #define ll long long #define int long long using namespace std; const int N=2e5+50; const int inf=1e18; const int mod=1e9+7; int a[N]; int n; int q; struct segtree{ int t[4*N]={0}; void build(int v,int tl,int tr){ if(tl==tr)t[v]=a[tl]; else { int tm=(tl+tr)/2; build(v*2,tl,tm); build(v*2+1,tm+1,tr); t[v]=(t[v*2]^t[v*2+1]); } } int query(int v,int tl,int tr,int l,int r){ if(tr<l||tl>r)return 0; if(l<=tl&&tr<=r)return t[v]; int tm=(tl+tr)/2; return (query(v*2,tl,tm,l,r)^query(v*2+1,tm+1,tr,l,r)); } void update(int v,int tl,int tr,int index,int value){ if(tl==tr){ t[v]=value; } else { int tm=(tl+tr)/2; if(index<=tm){ update(v*2,tl,tm,index,value); } else { update(v*2+1,tm+1,tr,index,value); } t[v]=(t[v*2]^t[v*2+1]); } } }; segtree seg; signed main(){ ios::sync_with_stdio(false); cin.tie(0); cin>>n>>q; for(int i=1;i<=n;i++)cin>>a[i]; seg.build(1,1,n); int pref[n+1]; for(int i=0;i<=n;i++)pref[i]=0; while(q--){ int o; cin>>o; if(o==1){ int i,x; cin>>i>>x; a[i]=x; } else { int l,r; cin>>l>>r; if((r-l+1)%2==0){ cout<<0; cout<<endl; continue; } int ans=0; for(int i=l;i<=r;i++){ for(int j=i;j<=r;j++){ if(j%2)ans^=a[j]; } } if(r-l+1==1)ans=a[r]; cout<<ans; cout<<endl; } } }

Compilation message (stderr)

xoranges.cpp: In function 'int main()':
xoranges.cpp:52:9: warning: variable 'pref' set but not used [-Wunused-but-set-variable]
   52 |     int pref[n+1];
      |         ^~~~
#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...