Submission #1178788

#TimeUsernameProblemLanguageResultExecution timeMemory
1178788vladkonovalXORanges (eJOI19_xoranges)C++20
18 / 100
1095 ms3396 KiB
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
using ll = long long;
ll n,q,a[200007],l,r,type,res,i,j,res1,pip,k,res2,x[200007];
int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    cin>>n>>q;
    for (i=1;i<=n;i++) cin>>a[i];
    for (i=1;i<=n;i++) x[i] = x[i-1]^a[i];
    while (q--) {
        cin>>type>>l>>r;
        res = 0;
        pip = 0;
        res2 = 0;
        if (type==1) {
            a[l] = r;
        }
        else {
            if (l==r) cout<<a[l]<<endl;
            else {
                for (i=l;i<=r;i++) res2^=a[i];
                for (i=1;i<=n;i++) {
                    if (l+i>r) break;
                    for (j=l;j<=r;j++) {
                        if (j+i>r) {pip = 10;break;}
                        res1 = 0;
                        res1 = x[j-1]^x[j+i];
                        res^=res1;
                    }
                }
                cout<<(res^res2)<<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...