답안 #929270

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
929270 2024-02-18T04:28:27 Z hngr XORanges (eJOI19_xoranges) C++17
38 / 100
461 ms 9436 KB
#include <iostream>
#include <vector>
#include <set>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <string>
#define int long long 
const int maxn = 2e5+7;
using namespace std;
const int N=2e5+5;
int t[2][2*N]{0};
int a[N]{0};
int qr(int i,int l,int r,int sz,int res=0){
    for(l += sz, r += sz; l < r; l >>= 1, r >>= 1){
        if(l&1) res ^= t[i][l++];
        if(r&1) res ^= t[i][--r];
    }return res;
}

int32_t main(){
    
    int n, q; cin >> n >> q;
    for(int i = 0; i < n; i++) cin >> a[i];
    for(int i = 0; i < n; i += 2) t[0][i+n] = a[i];
    for(int i = 1; i < n; i += 2) t[1][i+n] = a[i];
    for(int i = n-1; i > 0; i--) t[0][i] = t[0][2*i]^t[0][2*i+1], t[1][i]=t[1][2*i]^t[1][2*i+1];
    while(q--){
        int gh; cin >> gh;
        if(gh == 1){
            int i, j; cin >> i >> j;
        }
        else {
            int l, r; cin >> l >> r;
            if((r-l+1)%2 == 0) cout << 0 <<'\n';
            else cout << qr ((l-1)%2, l-1, r, n) <<'\n';
        }
    }
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 4444 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 4444 KB Output is correct
2 Correct 2 ms 4444 KB Output is correct
3 Correct 2 ms 4444 KB Output is correct
4 Correct 1 ms 4444 KB Output is correct
5 Correct 2 ms 4444 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 4444 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 433 ms 9204 KB Output is correct
2 Correct 461 ms 9300 KB Output is correct
3 Correct 443 ms 9436 KB Output is correct
4 Correct 394 ms 9432 KB Output is correct
5 Correct 409 ms 9352 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 4444 KB Output isn't correct
2 Halted 0 ms 0 KB -