답안 #838193

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
838193 2023-08-26T10:12:37 Z BlockOG XORanges (eJOI19_xoranges) C++14
0 / 100
683 ms 2284 KB
#include <iostream>

using namespace std;

unsigned int o[200100];

int main() {
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int n, q; cin >> n >> q;
    for (int i = 0; i < n; i++) cin >> o[i];

    for (int it = 0; it < q; it++) {
        int code; cin >> code;
        if (code == 1) {
            int i; cin >> i >> o[--i];
        } else {
            int l, u; cin >> l >> u;
            if (!((u - l + 1) & 1)) {
                cout << 0 << endl;
                continue;
            }

            unsigned int res1 = 0, res2 = 0, res3 = 0, res4 = 0, res5 = 0, res6 = 0, res7 = 0, res8 = 0;
            int i = l - 1;
            for (; i < u; i += 16) {
                res1 ^= o[i + 0 ];
                res2 ^= o[i + 2 ];
                res3 ^= o[i + 4 ];
                res4 ^= o[i + 6 ];
                res5 ^= o[i + 8 ];
                res6 ^= o[i + 10];
                res7 ^= o[i + 12];
                res8 ^= o[i + 14];
            }
            if (i - 2  >= u) res1 ^= o[i - 2 ];
            if (i - 4  >= u) res1 ^= o[i - 4 ];
            if (i - 6  >= u) res1 ^= o[i - 6 ];
            if (i - 8  >= u) res1 ^= o[i - 8 ];
            if (i - 10 >= u) res1 ^= o[i - 10];
            if (i - 12 >= u) res1 ^= o[i - 12];
            if (i - 14 >= u) res1 ^= o[i - 14];
            cout << ((res1 ^ res2) ^ (res3 ^ res4)) << endl;
        }
    }
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 683 ms 2284 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -