Submission #272036

#TimeUsernameProblemLanguageResultExecution timeMemory
272036JuliusMieliauskasXORanges (eJOI19_xoranges)C++14
55 / 100
1090 ms4288 KiB
#include <bits/stdc++.h> using namespace std; #define all(x) x.begin(), x.end() #define vi vector<int> #define vll vector<long long> #define MOD 1000000007 #define endl '\n' typedef long long ll; map<int, int> m; void print(vi v){ cout<<"Contents of vector:\n"; for(auto x : v) cout<<x<<" "; cout<<endl<<endl; } void solve(){ int n, q; cin>>n>>q; int ar[n], pref[n+1]; for(int i = 0; i<n; i++) cin>>ar[i]; pref[0] = 0; pref[1] = ar[0]; for(int i = 2; i<=n; i++) { pref[i] = pref[i-1] ^ ar[i-1]; //else pref[1] = ar[0] ^ ar[1]; } /*cout<<"Prefs: "<<endl; for(int i = 0; i<n+1; i++) cout<<pref[i]<<" "; cout<<endl<<endl;*/ for(int i = 0; i<q; i++){ int type; cin>>type; if(type == 1){ int ind, value; cin>>ind>>value; ar[ind-1] = value; /*cout<<"array: "<<endl; for(int i = 0; i<=n; i++) cout<<ar[i]<<" "; cout<<endl<<endl;*/ pref[0] = 0; pref[1] = ar[0]; for(int i = 2; i<=n; i++) { pref[i] = pref[i-1] ^ ar[i-1]; //else pref[1] = ar[0] ^ ar[1]; } /*cout<<"Prefs: "<<endl; for(int i = 0; i<=n; i++) cout<<pref[i]<<" "; cout<<endl<<endl;*/ } else { int from, to; cin>>from>>to; if((to-from+1)%2 == 0){ cout<<"0"<<endl; continue; } int ans = 0; for(int i = from-1; i<=to; i+=2){ ans ^= ar[i]; } /*cout<<"Map: "<<endl; for(auto x : m){ cout<<x.first<<" : "<<x.second<<endl; }*/ cout<<ans<<endl; } } } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); //ifstream cin("input.txt"); ofstream cout("output.txt");///cia failai //int T; cin>>T; int T = 1; for(int it = 1; it<=T; it++){ solve(); } }
#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...