Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- long long n, i, tree[9999999];
- void ans(int id)
- {
- int lvl = 1;
- while(id > 0)
- {
- if(lvl % 2 == 1) tree[id] = tree[id*2] | tree[id*2 + 1];
- else tree[id] = tree[id*2] ^ tree[id*2 + 1];
- lvl++;
- id /= 2;
- }
- }
- int main()
- {
- long long q;
- cin >> n >> q;
- n = 1 << n;
- //printf("n %lld\n", n);
- long long x;
- for(i = n; i < 2*n; i++)
- {
- cin >> tree[i];
- ans(i/2);
- }
- while(q--)
- {
- long long p, b;
- cin >> p >> b;
- tree[p+n-1] = b;
- ans((p+n-1)/2);
- cout << tree[1] << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement