Submission #1296128

#TimeUsernameProblemLanguageResultExecution timeMemory
1296128k12_khoiXORanges (eJOI19_xoranges)C++17
100 / 100
61 ms4556 KiB
#include <bits/stdc++.h> using namespace std; const int N=2e5+5; int n,request,mx_bit,type,x,y; int a[N],bit[N][2]; void fenwick_update(int u,int v) { bool le=u&1; for (int idx=u;idx<=mx_bit;idx+=idx&-idx) bit[idx][le]^=v; } int fenwick_get(int u) { bool le=u&1; int ans=0; for (int idx=u;idx>0;idx-=idx&-idx) ans^=bit[idx][le]; return ans; } int main() { ios_base::sync_with_stdio(NULL); cin.tie(NULL); cout.tie(NULL); cin >> n >> request; mx_bit=n; for (int i=1;i<=n;i++) { cin >> a[i]; fenwick_update(i,a[i]); } while (request--) { cin >> type >> x >> y; if (type==1) { fenwick_update(x,y^a[x]); a[x]=y; } else { if ((y-x+1)&1) cout << (fenwick_get(y)^fenwick_get(x-2)) << '\n'; else cout << 0 << '\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...