제출 #1329867

#제출 시각아이디문제언어결과실행 시간메모리
1329867abdoza55XORanges (eJOI19_xoranges)C++20
55 / 100
1096 ms1320 KiB
//#include"debugging.h"
#include<iostream>
#include<iomanip>
#include<cmath>
#include<algorithm>
#include<string>
#include<vector>
#include<set>
#include<map>
#include<stack>
#include<queue>
#include<tuple>
#include<cctype>
#include<numeric>
#include<climits>
#include<cassert>
#include<bitset>
#include<cstdlib>
#include<unordered_set>
#include<unordered_map>
#include<utility>
using namespace std;
#define cy cout<<"YES"
#define cn cout<<"NO"
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define FOR(x) for(int &i:x)cin>>i;
#define SZ(x) int(x.size())

const int MOD=1e9+7;
typedef long long ll;

void solve() {
    int n,q;cin>>n>>q;
    vector<int>v(n+1);
    for(int i=1;i<n+1;i++){
        cin>>v[i];
    }
    while(q--){
        int t;cin>>t;
        if(t==1){
            int i,va;cin>>i>>va;
            v[i]=va;
        }
        else{
            int l,r;cin>>l>>r;
            int res=0;
            ll cnt=0;
            for(int i=l;i<=r;i++){
                int x=r-i+1;
                x+=cnt;
                cnt+=r-i+1;
                cnt-=i-l+1;
                if(x&1)res^=v[i];
            }
            cout<<res<<"\n";
            
        }
        /*12345
        1 12 123 1234 12345 //5 -- 4
        2 12 123 1234 12345 23 234 2345 //8 -=2 6
        3 123 1234 12345 23 234 2345 34 345 //9 -=3 6
        4 1234 12345 234 2345 34 345 45 //8 -=4
        5 12345 2345 345 45 //5
        */
    }
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int t=1;
	//cin>>t;
	//cin.ignore();
	while(t--) {
		solve();
		cout<<(t?"\n":"");
	}
	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...