| Task: | Xor sum |
| Sender: | Iliana |
| Submission time: | 2025-09-22 17:48:44 +0300 |
| Language: | C++ (C++11) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details |
| #2 | ACCEPTED | 0.51 s | details |
Code
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, q;
cin >> n >> q;
vector<int> arr(n);
for (int i = 0; i < n; ++i) {
cin >> arr[i];
}
vector<int> prefix(n+1, 0);
for (int i = 1; i <= n; ++i) {
prefix[i] = prefix[i-1] ^ arr[i-1];
}
for (int i = 0; i < q; ++i) {
int a, b;
cin >> a >> b;
cout << (prefix[b] ^ prefix[a-1]) << '\n';
}
return 0;
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 8 36 7 6 4 6 2 9 4 8 1 1 1 2 1 3 ... |
| correct output |
|---|
| 7 1 5 3 1 ... |
| user output |
|---|
| 7 1 5 3 1 ... |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 200000 200000 921726510 307633388 992247073 ... |
| correct output |
|---|
| 834756431 130379787 403037296 308618218 784778243 ... |
| user output |
|---|
| 834756431 130379787 403037296 308618218 784778243 ... Truncated |
