Submission #1241029

#TimeUsernameProblemLanguageResultExecution timeMemory
1241029azamuraiXORanges (eJOI19_xoranges)C++20
30 / 100
1094 ms3400 KiB
#include <bits/stdc++.h> #define int long long #define fi first #define se second #define Sz(x) (int)x.size() #define mp make_pair using namespace std; typedef long long ll; const int N = 2e5 + 5; int n, q, a[N]; void solve() { cin >> n >> q; vector <int> pref(n+1,0); for (int i = 1; i <= n; i++) { cin >> a[i]; pref[i] = (pref[i-1] ^ a[i]); } while (q--) { int tp; cin >> tp; if (tp == 1) { int ind, val; cin >> ind >> val; a[ind] = val; for (int i = 1; i <= n; i++) { pref[i] = (pref[i-1] ^ a[i]); } } else { int l, r; cin >> l >> r; int ans = 0; for (int i = 1; i <= r-l+1; i++) { for (int j = l; j+i-1 <= r; j++) { ans ^= (pref[j+i-1] ^ pref[j-1]); } } cout << ans << '\n'; } } } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t = 1; //cin >> t; while ( t-- ) { solve(); cout << '\n'; } }
#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...