Submission details
Task:Xor sum
Sender:hundlij1
Submission time:2025-09-22 17:28:45 +0300
Language:C++ (C++17)
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.53 sdetails

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