Submission #1221571

#TimeUsernameProblemLanguageResultExecution timeMemory
1221571mayacXORanges (eJOI19_xoranges)C++20
0 / 100
302 ms7916 KiB
#include <iostream> #include <vector> #include <queue> using namespace std; int main(){ int n,q,a,b,t,ans; cin>>n>>q; vector<int> v(n),vxor(n+1,0),yesno0(n+1,0),yesno1(n+1,0); for(int i=0;i<n;i++){ cin>>v[i]; vxor[i+1]=vxor[i]^v[i]; if(i%2==0){ yesno0[i+1]=v[i]; if(i>0)yesno0[i+1]=v[i]^yesno0[i-1]; }else{ yesno1[i+1]=v[i]; yesno1[i+1]=v[i]^yesno1[i-1]; } } for(int i=0;i<=n;i++){ cout<<yesno0[i]<<" "<<yesno1[i]<<"\n"; } while(q--){ cin>>t>>a>>b;a--; if(t==1){ v[a]=b; }else{ if((b-a+1)%4==0){ if(a%2==1){ cout<<(yesno1[a-1]^yesno1[b]); }else{ if(a>0){ cout<<(yesno0[a-1]^yesno0[b]); }else{ cout<<yesno0[b]; } } }else{ cout<<(vxor[a]^vxor[b]); } cout<<"\n"; } } }
#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...