제출 #433200

#제출 시각아이디문제언어결과실행 시간메모리
433200Valaki2XORanges (eJOI19_xoranges)C++14
75 / 100
1095 ms4184 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; int n, q; vector<int> numbers; vector<int> prefix; void update() { int pos, val; cin >> pos >> val; numbers[pos] = val; prefix[1] = numbers[1]; for(int i = 2; i <= n; ++i) { prefix[i] = prefix[i - 2] ^ numbers[i]; } } void query() { int l, r; cin >> l >> r; if((r - l + 1) % 2 == 0) { cout << "0\n"; return; } cout << (prefix[r] ^ prefix[l] ^ numbers[l]) << "\n"; } void solve() { cin >> n >> q; numbers.assign(1 + n, 0); prefix.assign(1 + n, 0); for(int i = 1; i <= n; ++i) { cin >> numbers[i]; if(i == 1) prefix[i] = numbers[i]; else prefix[i] = prefix[i - 2] ^ numbers[i]; } while(q--) { int type = 0; cin >> type; if(type == 1) update(); else query(); } } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); solve(); 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...