Submission #1176705

#TimeUsernameProblemLanguageResultExecution timeMemory
1176705AlgorithmWarriorXORanges (eJOI19_xoranges)C++20
55 / 100
1097 ms1904 KiB
#include <bits/stdc++.h>

using namespace std;

/// lungime para => 0
/// lungime impara => 101010101...101010101

int const MAX=2e5+5;
int n,m;
int v[MAX];

void read(){
    cin>>n>>m;
    int i;
    for(i=1;i<=n;++i)
        cin>>v[i];
}

int query(int l,int r){
    int len=r-l+1;
    if(len%2==0)
        return 0;
    int xorr=0;
    while(l<=r){
        xorr^=v[l];
        l+=2;
    }
    return xorr;
}

void process_queries(){
    int i;
    for(i=1;i<=m;++i){
        int type;
        cin>>type;
        if(type==1){
            int ind,val;
            cin>>ind>>val;
            v[ind]=val;
        }
        else{
            int l,r;
            cin>>l>>r;
            cout<<query(l,r)<<'\n';
        }
    }
}

int main()
{
    read();
    process_queries();
    return 0;
}
#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...