Submission #1176772

#TimeUsernameProblemLanguageResultExecution timeMemory
1176772chikien2009XORanges (eJOI19_xoranges)C++20
55 / 100
28 ms328 KiB
#include <bits/stdc++.h>

using namespace std;

void setup()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
}

int n, q, a[5000], b, c, x, y, z;
long long res;

int main()
{
    setup();

    cin >> n >> q;
    for (int i = 0; i < n; ++i)
    {
        cin >> a[i];
    }
    while (q--)
    {
        cin >> b;
        if (b == 1)
        {
            cin >> b >> c;
            a[b - 1] = c;
        }
        else
        {
            cin >> b >> c;
            b--;
            c--;
            res = 0;
            x = c - b + 1;
            for (int i = b; i <= c; ++i)
            {
                y = min(i - b, c - i);
                z = x * (y + 1);
                res ^= (z & 1) * a[i];
            }
            cout << res << "\n";
        }
    }
    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...