Submission #1179738

#TimeUsernameProblemLanguageResultExecution timeMemory
1179738mishasimXORanges (eJOI19_xoranges)C++20
75 / 100
1094 ms4680 KiB
#include <iostream>

using namespace std;
#define endl '\n'

long long n,q,k[200005],res,op,l,u,prefix[200005];


int main()
{
    ios_base :: sync_with_stdio(0);cin.tie(0);cout.tie(0);
    cin>>n>>q;
    for(int i = 1 ; i<=n ; i++)
        {
        cin>>k[i];
        prefix[i] = (prefix[i-2]^k[i]);
        }
    for(int i = 1 ; i<=q ; i++)
        {
        cin>>op>>l>>u;
        if(op==1)
            {
            k[l] = u;
            for(int j = l ; j<=n ; j++)
                {
                prefix[j] = (prefix[j-2]^k[j]);
                }
            }
        else
            {
            res = 0;
            if((l%2==0 && u%2==0) || (l%2==1 && u%2==1))res = prefix[u]^prefix[l-2];
            cout<<res<<endl;
            }
        }
    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...