This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#define ll long
using namespace std;
ll o[200001];
int main(){
cin.tie(nullptr)->sync_with_stdio(false);
ll n,m;
cin >> n >> m;
for (int i=0;i<n;i++) {
cin >> o[i];
}
int x,y,k;
ll sum=0;
for (int i=0;i<m;i++) {
cin >> x >> y >> k;
y--;
if (x == 1) {
o[y] = k;
} else {
sum=0;
for (int i=0;i<(k-y)/2;i++) {
sum^=(((i*(i+1))/2+(k-y-i)*(i+1))%2)*o[y+i];
sum^=(((i*(i+1))/2+(k-y-i)*(i+1))%2)*o[k-(y+i)-1];
}
if ((k-y)%2 == 1) {
sum^=((((k-y)*(k-y+1))/2)%2)*o[(k-y)/2];
}
cout << sum <<'\n';
}
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |