Submission #1179683

#TimeUsernameProblemLanguageResultExecution timeMemory
1179683mishasimXORanges (eJOI19_xoranges)C++20
0 / 100
51 ms6212 KiB
#include <iostream> using namespace std; #define endl '\n' long long n, q, k[200005], res, op, l, u, prefix[200005], prefix1[200005]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> q; for (int i = 1; i <= n; i++) { cin >> k[i]; if (i % 2 == 1) prefix1[i] = (prefix1[i - 2] ^ k[i]); else prefix[i] = (prefix[i - 2] ^ k[i]); } for (int i = 1; i <= q; i++) { cin >> op >> l >> u; if (op == 1) { k[l] = u; for (int j = l; j <= n; j++) { if (j % 2 == 1) prefix1[j] = (prefix1[j - 2] ^ k[j]); else prefix[j] = (prefix[j - 2] ^ k[j]); } } else { res = 0; if (l % 2 == 0 && u % 2 == 0) res = prefix[u] ^ prefix[l - 2]; else if (l % 2 == 1 && u % 2 == 1) res = prefix1[u] ^ prefix[l - 2]; else res = 0; // коли л і р різні за парністю cout << res << 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...