Submission #1176775

#TimeUsernameProblemLanguageResultExecution timeMemory
1176775chikien2009XORanges (eJOI19_xoranges)C++20
0 / 100
1 ms324 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;
            if (x & 1)
            {
                cout << 0 << "\n";
                continue;
            }
            for (int i = b; i <= c; ++i)
            {
                y = min(i - b, c - i);
                z = x * (y + 1);
                if ((b & 1) == (i & 1))
                {
                    res ^= 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...