Submission #1068835

#TimeUsernameProblemLanguageResultExecution timeMemory
1068835adrielcpXORanges (eJOI19_xoranges)C++17
55 / 100
1095 ms2940 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define debug(x) cout << #x << " " << (x) << endl;
#define all(x) x.begin(), x.end()
void pp(pair<int, int>&a) { cout << "{" << a.first << ", " << a.second << endl; }
void g(vector<int>&a) { cout << "{"; for (auto el : a) cout << el << ", "; cout << "}" << endl; }
void g(vector<pair<int, int>>&a) { cout << "{"; for (auto el : a) pp(el); cout << "}" << endl; }
// #define DBG

void solve() {
  int n,q;cin>>n>>q;
  vector<int> a(n);
  for (int i = 0; i < n; i++) cin >> a[i];

  while (q--) {
    int t,x,y;cin>>t>>x>>y;
    if (t==1) {
      // upd
      a[x-1] = y;
    } else {
      if ((y-x+1) % 2 == 0) cout << 0 << endl;
      else {
        int xo = 0;
        for (int i = x-1; i <= y-1; i += 2) xo ^= a[i];
        cout << xo << endl;
      }
    }
  }

  // g(a);
}

int32_t main() {
  ios_base::sync_with_stdio(0);cin.tie(NULL);
  int t=1;
  #ifdef DBG
  freopen("inp1.txt", "r", stdin);
  freopen("out.txt", "w", stdout);
  cin>>t;
  #endif
  while (t--) {
    solve();
    cout << 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...