답안 #1022523

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1022523 2024-07-13T16:33:42 Z A_M_Namdar XORanges (eJOI19_xoranges) C++14
55 / 100
10 ms 6492 KB
#include <bits/stdc++.h>
using namespace std;

const long long N = 1e5 + 10, SQ = 2;
long long n, q, a[N], dp[2][N];

int ans(int l, int r) {
    if (((r - l) & 1) == 0)
        return 0;
    int res = 0;
    int l1 = ((l + SQ - 1) / SQ) * SQ, r1 = (r / SQ) * SQ;
    if (r1 > l1) {
        for (int i = l; i < l1; i += 2)
            res ^= a[i];
        for (int i = l1; i < r1; i += SQ)
            res ^= dp[l & 1][i / SQ];
        for (int i = r1 + (l & 1); i < r; i += 2)
            res ^= a[i];
    }
    else
        for (int i = l; i < r; i += 2)
            res ^= a[i];
    return res;
}

void input() {
    cin >> n >> q;
    for (int i = 0; i < n; i++) {
        cin >> a[i];
        dp[i & 1][i / SQ] ^= a[i];
    }
}

void solve() {
    for (int i = 0; i < q; i++) {
        int op;
        cin >> op;
        if (op == 1) {
            int j, v;
            cin >> j >> v;
            j--;
            dp[j & 1][j / SQ] ^= a[j] ^ v;
            a[j] = v;
        }
        else {
            int l, r;
            cin >> l >> r;
            cout << ans(l - 1, r) << '\n';
        }
    }
}

int main() {
    ios:: sync_with_stdio(0), cin.tie(0), cout.tie(0);
    input();
    solve();
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 0 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2396 KB Output is correct
5 Correct 1 ms 2396 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2396 KB Output is correct
5 Correct 1 ms 2396 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 0 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2396 KB Output is correct
5 Correct 1 ms 2396 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 1 ms 2396 KB Output is correct
9 Correct 1 ms 2396 KB Output is correct
10 Correct 1 ms 2396 KB Output is correct
11 Correct 2 ms 2628 KB Output is correct
12 Correct 3 ms 2652 KB Output is correct
13 Correct 7 ms 2652 KB Output is correct
14 Correct 5 ms 2652 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Runtime error 10 ms 6492 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 0 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2396 KB Output is correct
5 Correct 1 ms 2396 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 1 ms 2396 KB Output is correct
9 Correct 1 ms 2396 KB Output is correct
10 Correct 1 ms 2396 KB Output is correct
11 Correct 2 ms 2628 KB Output is correct
12 Correct 3 ms 2652 KB Output is correct
13 Correct 7 ms 2652 KB Output is correct
14 Correct 5 ms 2652 KB Output is correct
15 Runtime error 10 ms 6492 KB Execution killed with signal 11
16 Halted 0 ms 0 KB -