이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
//don't copy pls)
/*TAAK ZDES NADO RECURSIU PISAT*/
//I'm not in the danger i am the DANGER
#include "bits/stdc++.h"
#include <ext/pb_ds/assoc_container.hpp>
#define ll long long
#define pb push_back
#define int long long
#define F first
#define S second
#define all(x) (x).begin(), (x).end()
#define pii pair<int,int>
#define sigma signed
using namespace std;
using namespace __gnu_pbds;
const int N = 3e5 + 5;
int mod = 1e9 + 7;
const int INF = 1e18;
int n,q,a[N],p[N],ans[N];
void Gold(){
	cin >> n >> q;
	for(int i = 1 ; i <= n ; i++){
		cin >> a[i];
		p[i] = p[i - 1] ^ a[i];
	}
	while(q--){
		int tp;
		cin >> tp;
		if(tp == 1){
			int x,y;
			cin >> x >> y;
			a[x] = y;
			for(int i = 1 ; i <= n ; i++){
				p[i] = p[i - 1] ^ a[i];
			}
		}
		else{
			int l,r;
			cin >> l >> r;
			int x = 0;
			map <int,int> mp;
			for(int i = l ; i <= r ; i++){
				ans[i] = 0;
			}
			// for(int j = 1 ; j <= r - l + 1 ; j++){
				// for(int i = l + j - 1 ; i <= r ; i++){
					// x ^= (p[i] ^ p[i - j]);
					// for(int k = i - j + 1 ; k <= i ; k++){
						// mp[a[k]]++;
					// }
				// }
			// }
			// for(auto it : mp){
				// cout << it.F << ' ' << it.S << '\n';
			// }
			ans[l] = r - l + 1; 
			int cur = 2;
			for(int i = l + 1 ; i <= r ; i++){
				ans[i] = ans[i - 1] + ((r - l + 1) - cur);
				cur += 2;
			}
			for(int i = l ; i <= r ; i++){
				if(ans[i] % 2){
					x ^= a[i];
				}
			}
			cout << x << '\n';
		}
	}
}
sigma main(){
	//freopen("txt.in","r",stdin);
	//freopen("txt.out","w",stdout);
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	srand(time(0));
	int TT = 1;
	// cin >> TT;
	for(int i = 1 ; i <= TT ; i++){
		//cout << "Case " << i << ": ";
		Gold();
	}
}
| # | 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... |