Submission #1012120

#TimeUsernameProblemLanguageResultExecution timeMemory
1012120mkkkkkkkkXORanges (eJOI19_xoranges)C++14
55 / 100
1065 ms4960 KiB
#include <bits/stdc++.h>
using namespace std;


long long tree[4*500000];
vector<int> vec;

void build(int node,int l,int r)
{
    if(l==r)
    {
        tree[node]=vec[l];
    }
    else
    {
        int m=(l+r)/2;
        build(node*2+1,l,m);
        build(node*2+2,m+1,r);
        tree[node]=min(tree[node*2+1],tree[node*2+2]);
    }
}
void upd(int node,int pos,int x,int l,int r)
{
    if(l==r)
    {
        tree[node]+=x;
        return;
    }
    else
        {
            int m=(l+r)/2;
            if(pos<=m)
            {
                upd(node*2+1,pos,x,l,m);
            }
            else
            {
                upd(node*2+2,pos,x,m+1,r);
            }
            tree[node]=tree[node*2+1]+tree[node*2+2];
        }
        
}
long long sum(int node,int l, int r,int L,int R)
{
    if(l>R || r<L)
    {
        return 0;
    }
    else if(l>=L && r<=R)
    {
        return tree[node];
    }
    else
    {
        int m=(l+r)/2;
        return sum(node*2+1,l,m,L,R)+sum(node*2+2,m+1,r,L,R);
    }
    
}

int main()
{
    int n,q;
    cin>>n>>q;
    vector<int> vec;
    for(;n>0;n--)
    {
        int x;
        cin>>x;
        vec.push_back(x);
    }
    for(;q>0;q--)
    {
        int x;
        cin>>x;
        if(x==1)
        {
            int a,b;
            cin>>a>>b;
            vec[a-1]=b;
        }
        else
        {
            int a,b;
            cin>>a>>b;
            if((b-a+1)%2==0)
            {
                cout<<0<<endl;
            }
            else
            {
                int res=-1;
                int br=0;
                for(int i=a-1;i<b;i=i+2)
                {
                    if(res==-1)
                    res=vec[i];
                    else
                    {
                        res=res^vec[i];
                    }
                }
                cout<<res<<endl;
            }
            
        }
    }
    
    return 0;
}

Compilation message (stderr)

xoranges.cpp: In function 'int main()':
xoranges.cpp:94:21: warning: unused variable 'br' [-Wunused-variable]
   94 |                 int br=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...