Submission #908724

#TimeUsernameProblemLanguageResultExecution timeMemory
908724speedcodeXORanges (eJOI19_xoranges)C++17
75 / 100
1059 ms8020 KiB
#include <bits/stdc++.h>
using namespace std;

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n,q;
    cin >> n >> q;
    long long values[n+2];
    long long temp;
    values[0] = 0;
    values[1] = 0;
    for(int i = 0; i < n; i++){
        cin >> temp;
        values[i+2] = temp ^ values[i];
    }
    for(int i = 0; i < q; i++){
        int typ; 
        cin >> typ;
        if(typ==2){
            int a,b;
            cin >> a >> b;
            if((b-a) % 2 == 0){
                cout << (values[a-1] ^ values[b+1]) << '\n';
            } else cout << "0\n";
        } else {
            int pos;
            cin >> pos;
            cin >> temp;
            long long diff = (values[pos+1] ^ values[pos-1]) ^ temp;
            for(int j = pos+1; j < n+2; j+=2){
                values[j] = values[j] ^ diff;
            }
        }
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...