# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1049024 | 2024-08-08T12:09:37 Z | Nickpapadak | XORanges (eJOI19_xoranges) | C++14 | 1000 ms | 4744 KB |
#include<bits/stdc++.h> using namespace std; const unsigned int MAXN = 2e+5 + 10; bool mp[MAXN]; int pf[MAXN], pf1[MAXN],pf2[MAXN], a[MAXN]; int N, Q; int main(){ scanf("%d%d",&N,&Q); // mp.resize(N+1, 0); for(int i = 1; i<=N;++i){ scanf("%d",&a[i]); pf[i] = pf[i-1] ^ a[i]; // mp[i] = 0; } pf1[1] = a[1]; for(int i = 1; i<=N; i++){ pf1[i] = pf1[i-1] ^ a[i*2-1]; } for(int i = 1; i<=N >> 1; i++){ pf2[i] = pf2[i-1] ^ a[i*2]; } while(Q--){ int s,b, type; scanf("%d%d%d", &type, &s, &b); if(type == 2){ int ans = 0; // for(int i = 1; i <= b-s+1; ++i){ // for(int j = s; j+i-1 <= b;++j){ // ans ^= (pf[j+i-1] ^ pf[j-1]); // // changemp(j+i-1); // // changemp(j+i-1); // for(int k = j; k <= j+i-1; ++k) mp[k] = !mp[k]; // // mp[j+i-1] = !mp[j+i-1]; // // mp[j-1] = !mp[j-1]; // } // } if((b-s+1) % 2 == 1){ if(s % 2 == 1) ans = pf1[(b >> 1)+1] ^ pf1[(s >> 1)]; else ans = pf2[b >> 1] ^ pf2[(s >> 1)-1]; } // for(int i = 1; i<=N;++i){ // printf("[%d]", i); // } // printf("\n"); // for(int i = 1; i<=N;++i){ // printf(" %d ", mp[i]); // mp[i] = 0; // } // printf("\n"); printf("%d\n", ans); // } }else{ a[s] = b; pf1[1] = a[1]; for(int i = 1; i<=N; i++){ pf1[i] = pf1[i-1] ^ a[i*2-1]; } for(int i = 1; i<=N >> 1; i++){ pf2[i] = pf2[i-1] ^ a[i*2]; } } // for(int i = s; i<=N;++i){ // pf[i] = pf[i-1] ^ a[i]; // } // } } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2392 KB | Output is correct |
2 | Correct | 1 ms | 2392 KB | Output is correct |
3 | Correct | 0 ms | 2396 KB | Output is correct |
4 | Correct | 0 ms | 2396 KB | Output is correct |
5 | Correct | 0 ms | 2396 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2396 KB | Output is correct |
2 | Correct | 1 ms | 2396 KB | Output is correct |
3 | Correct | 0 ms | 2396 KB | Output is correct |
4 | Correct | 1 ms | 2396 KB | Output is correct |
5 | Correct | 0 ms | 2396 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2392 KB | Output is correct |
2 | Correct | 1 ms | 2392 KB | Output is correct |
3 | Correct | 0 ms | 2396 KB | Output is correct |
4 | Correct | 0 ms | 2396 KB | Output is correct |
5 | Correct | 0 ms | 2396 KB | Output is correct |
6 | Correct | 1 ms | 2396 KB | Output is correct |
7 | Correct | 1 ms | 2396 KB | Output is correct |
8 | Correct | 0 ms | 2396 KB | Output is correct |
9 | Correct | 1 ms | 2396 KB | Output is correct |
10 | Correct | 0 ms | 2396 KB | Output is correct |
11 | Correct | 30 ms | 2544 KB | Output is correct |
12 | Correct | 31 ms | 2396 KB | Output is correct |
13 | Correct | 4 ms | 2396 KB | Output is correct |
14 | Correct | 4 ms | 2548 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 49 ms | 4644 KB | Output is correct |
2 | Correct | 58 ms | 4588 KB | Output is correct |
3 | Correct | 54 ms | 4692 KB | Output is correct |
4 | Correct | 49 ms | 4696 KB | Output is correct |
5 | Correct | 48 ms | 4744 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2392 KB | Output is correct |
2 | Correct | 1 ms | 2392 KB | Output is correct |
3 | Correct | 0 ms | 2396 KB | Output is correct |
4 | Correct | 0 ms | 2396 KB | Output is correct |
5 | Correct | 0 ms | 2396 KB | Output is correct |
6 | Correct | 1 ms | 2396 KB | Output is correct |
7 | Correct | 1 ms | 2396 KB | Output is correct |
8 | Correct | 0 ms | 2396 KB | Output is correct |
9 | Correct | 1 ms | 2396 KB | Output is correct |
10 | Correct | 0 ms | 2396 KB | Output is correct |
11 | Correct | 30 ms | 2544 KB | Output is correct |
12 | Correct | 31 ms | 2396 KB | Output is correct |
13 | Correct | 4 ms | 2396 KB | Output is correct |
14 | Correct | 4 ms | 2548 KB | Output is correct |
15 | Correct | 49 ms | 4644 KB | Output is correct |
16 | Correct | 58 ms | 4588 KB | Output is correct |
17 | Correct | 54 ms | 4692 KB | Output is correct |
18 | Correct | 49 ms | 4696 KB | Output is correct |
19 | Correct | 48 ms | 4744 KB | Output is correct |
20 | Execution timed out | 1004 ms | 3416 KB | Time limit exceeded |
21 | Halted | 0 ms | 0 KB | - |