# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1246278 | nanaseyuzuki | XORanges (eJOI19_xoranges) | C++20 | 53 ms | 3912 KiB |
#include <bits/stdc++.h>
/*
--> Author: Kazuki_Hoshino__8703 <--
I love Nanasaki Ai ☆*: .。. o(≧▽≦)o .。.:*☆
*/
#define fi first
#define se second
#define pii pair<int, int>
#define ll long long
using namespace std;
const int mn = 3e5 + 5, bm = (1 << 15) + 1, mod = 1e9 + 7;
const ll inf = 1e9 + 7, base = 311;
int n, q, a[mn];
int bit[2][mn];
void add(int x, int u, int val){
while(u <= n){
bit[x][u] ^= val;
u += (u & -u);
}
}
int get(int x, int u){
int res = 0;
while(u > 0){
res ^= bit[x][u];
u -= (u & -u);
}
return res;
}
void solve(){
cin >> n >> q;
for(int i = 1; i <= n; i++){
cin >> a[i];
add(i % 2, i, a[i]);
}
while(q--){
int t, l, r; cin >> t >> l >> r;
if(t == 1){
add(l % 2, l, a[l]);
add(l % 2, l, r);
a[l] = r;
}
else{
int len = r - l + 1;
if(len % 2 == 0) cout << 0 << '\n';
else{
int id = l % 2;
cout << (get(id, r) ^ get(id, l - 1)) << '\n';
}
}
}
}
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
if(fopen("ROBOT.INP", "r")){
freopen("ROBOT.INP", "r", stdin);
freopen("ROBOT.OUT", "w", stdout);
}
int t = 1;
// cin >> t;
while(t --){
solve();
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |