Submission #478060

#TimeUsernameProblemLanguageResultExecution timeMemory
478060pragmatistXORanges (eJOI19_xoranges)C++17
0 / 100
89 ms6188 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #define pb push_back #define all(v) v.begin(),v.end() #define rall(v) v.rbegin(),v.rend() #define sz(v) v.size() #define x first #define y second #define int long long #define nl "\n" using namespace std; typedef long long ll; typedef pair<long long, long long> pll; typedef pair <ll, ll> pii; const int N = (int)3e5 + 7; const int M = (int)7e6 + 7; const ll MOD = (ll)1e9 + 7; const int inf = (int)1e9 + 7; const ll INF = (ll)1e18 + 7; pii dir[] = {{-1, 0}, {1, 0}, {0, 1}, {0, -1}}; int n, q, a[N], p[N][2]; void solve() { cin >> n >> q; for(int i = 1; i <= n; ++i) cin >> a[i]; p[1][0] = a[1]; for(int i = 3; i <= n; ++i) p[i][0] = (p[i-2][0] ^ a[i]); p[2][1] = a[2]; for(int i = 4; i <= n; ++i) p[i][1] = (p[i-2][1] ^ a[i]); while(q--) { char c; cin >> c; int l, r; cin >> l >> r; int res = 0; if(((r - l + 1) & 1) == 0) { cout << "0\n"; continue; } if(l & 1) res = (p[r][0] ^ p[l-1][0]); else res = (p[r][1] ^ p[l-1][1]); cout << res << nl; } } signed main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); //freopen("input.txt", "r", stdin); //freopen("output.txt", "w", stdout); int test = 1; //cin >> test; for(int i = 1; i <= test; i++) { //cout << "Case " << i << ":\n"; 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...