Submission #101824
Source Code Expand
#include<cstdio> #include<algorithm> using namespace std; int N, V[100000]; int X[100001]; int bests[1<<20]; int main() { scanf("%d", &N); X[0] = 0; for(int i=0;i<N;i++){ scanf("%d", V+i); X[i+1] = X[i] ^ V[i]; } int val = 0; int L=0, R=1; for(int i=19;i>=0;i--){ for(int j=0;j<(1<<(20-i));j++) bests[j] = 1000000; for(int j=0;j<=N;j++){ bests[X[j]>>i] = min(bests[X[j]>>i], j); } pair<int, int> tmp = make_pair(1000000, 1000000); int valtmp = val | (1<<i); int mask = valtmp >> i; for(int j=0;j<(1<<(20-i));j++){ if(bests[j] != 1000000 && bests[j ^ mask] != 1000000) tmp = min(tmp, make_pair(bests[j], bests[j ^ mask])); } if(tmp.first != 1000000){ L = tmp.first; R = tmp.second; val |= 1<<i; } } printf("%d %d %d\n", val, L+1, R); return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Maximum Segment XOR |
User | Operasan |
Language | C++ (GCC 4.4.7) |
Score | 100 |
Code Size | 853 Byte |
Status | AC |
Exec Time | 61 ms |
Memory | 5664 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:12: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result ./Main.cpp:15: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3, 30, 31, 4, 5, 6, 7, 8, 9 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
1 | AC | 31 ms | 4900 KB |
10 | AC | 31 ms | 4900 KB |
11 | AC | 30 ms | 4900 KB |
12 | AC | 31 ms | 4900 KB |
13 | AC | 33 ms | 4840 KB |
14 | AC | 33 ms | 4904 KB |
15 | AC | 33 ms | 4896 KB |
16 | AC | 47 ms | 5284 KB |
17 | AC | 42 ms | 5088 KB |
18 | AC | 61 ms | 5656 KB |
19 | AC | 33 ms | 4844 KB |
2 | AC | 30 ms | 4896 KB |
20 | AC | 30 ms | 4896 KB |
21 | AC | 30 ms | 4772 KB |
22 | AC | 30 ms | 4904 KB |
23 | AC | 32 ms | 4904 KB |
24 | AC | 30 ms | 4904 KB |
25 | AC | 31 ms | 4904 KB |
26 | AC | 30 ms | 5028 KB |
27 | AC | 31 ms | 4904 KB |
28 | AC | 50 ms | 5424 KB |
29 | AC | 54 ms | 5404 KB |
3 | AC | 29 ms | 4900 KB |
30 | AC | 44 ms | 5164 KB |
31 | AC | 55 ms | 5664 KB |
4 | AC | 29 ms | 4896 KB |
5 | AC | 31 ms | 4904 KB |
6 | AC | 30 ms | 4892 KB |
7 | AC | 30 ms | 4772 KB |
8 | AC | 31 ms | 4888 KB |
9 | AC | 30 ms | 4856 KB |