Submission #446768

# Submission time Handle Problem Language Result Execution time Memory
446768 2021-07-23T08:41:00 Z fuad27 XORanges (eJOI19_xoranges) C++14
38 / 100
610 ms 18804 KB
#include<bits/stdc++.h>
using namespace std;
#define int long long
struct fenwick {
	int v[1000000] = {0};
	void update(int i, int val) {
		i++;
		while(i < 1000000) {
			v[i] ^= val;
			i += i&(-i);
		}
	}
	int getXor(int i) {
		int x = 0;
		while(i > 0) {
			x ^= v[i];
			i -= i & (-i);
		}
		return x;
	}
};
int32_t main () {
	int n, q;
	cin >> n >> q;
	vector<int> v(n, 0);
	fenwick x;
	fenwick xodd;
	for(int i = 0;i<n;i++) {
		int p;
		cin >> p;
		v[i] = p;
		x.update(i, p);
		if(i%2 == 0) {
			xodd.update(i, p);
		}
	}
	while(q--) {
		int k;
		cin >> k;
		if(k == 1) {
			int i, val;
			cin >> i >> val;
			x.update(i, val ^ v[i-1]);
			if(i%2 == 1) {
				xodd.update(i, val ^ v[i-1]);
			}
			v[i-1] = val;
		}
		else {
			int l, u;
			cin >> l >> u;
			if((u - l)%2 == 0) {
				if(l%2 == 1) {
					int ans = xodd.getXor(u) ^ xodd.getXor(l-1);cout<<ans<<endl;
				}
				else {
					int ans = x.getXor(u) ^ xodd.getXor(u) ^ x.getXor(l-1) ^ xodd.getXor(l-1);cout<<ans<<endl;
 
				}
			}
			else {
				cout<<0<<endl;
			}
		}
	}
}
# Verdict Execution time Memory Grader output
1 Incorrect 10 ms 15948 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 11 ms 15820 KB Output is correct
2 Correct 12 ms 15948 KB Output is correct
3 Correct 12 ms 15948 KB Output is correct
4 Correct 12 ms 15856 KB Output is correct
5 Correct 11 ms 15948 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 10 ms 15948 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 609 ms 18792 KB Output is correct
2 Correct 608 ms 18628 KB Output is correct
3 Correct 610 ms 18628 KB Output is correct
4 Correct 601 ms 18804 KB Output is correct
5 Correct 589 ms 18708 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 10 ms 15948 KB Output isn't correct
2 Halted 0 ms 0 KB -