| Task: | Xor sum |
| Sender: | hundlij1 |
| Submission time: | 2025-09-22 17:28:45 +0300 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details |
| #2 | ACCEPTED | 0.53 s | details |
Code
#include <iostream>
#include <algorithm>
#include <queue>
using namespace std;
void task1(){
int n, q;
cin >> n >> q;
vector<int> nums(n);
vector<int> cum(n +1, 0);
for(int i = 1; i <= n; i++){
int a;
cin >> a;
cum[i] = cum[i-1] ^ a;
}
for(int i = 0; i < q; i++){
int a,b;
cin >> a >> b;
int sum = cum[b] ^ cum[a-1];
cout << sum << endl;
}
}
/*void task2(vector<int>& nums, int q){
int n, q;
cin >> n >> q;
vector<vector<int>> grid(n, vector<int>(n,0));
vector<vector<int>> gridC(n, vector<int>(n,0));
vector<vector<int>> ques(q, vector<int>(4));
for(int i = 0; i < n; i++){
cin >> grid[i];
}
for(int i = 0; i < q; i++){
int a,b,c,d;
cin >> a >> b >> c >> d;
ques[i] = {a,b,c,d};
}
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
if(j = 0) gridC[i][j] = grid[i][j] + gridC[i-1][j];
else if(i = 0) gridC[i][j] = grid[i][j] + gridC[i][j-1];
else gridC[i][j] = grid[i][j] + gridC[i-1][j] + gridC[i][j-1] - gridC[i-1][j-1];
}
}
for(int i = 0; i < q; i++){
int sum = gridC[ques[i][1]][ques[i][0]];
cout << sum << endl;
}
}*/
int main() {
task1();
}
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 |
