제출 #1221527

#제출 시각아이디문제언어결과실행 시간메모리
1221527mayacXORanges (eJOI19_xoranges)C++20
0 / 100
259 ms4016 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]; } } while(q--){ cin>>t>>a>>b;a--; if(t==1){ v[a]=b; }else{ ans=0; if((b-a)%2==1){ ans=vxor[b]^vxor[a]; } 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]; } } } 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...