Submission #101977
Source Code Expand
#include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(int)(n); ++i) using namespace std; typedef long long ll; const int INF = 1000000000; const int MOD = 1000000007; const double EPS = 1e-8; int main(){ int N; while(cin >> N && N){ vector<int> a(N); REP(i, N){ cin >> a[i]; } int cur = 0; int lasts = 1, lastt = 1; for(int b = 0; b < 20; b++){ int B = cur >> (19 - b) | 1; //printf("b = %d B = %d\n", b, B); vector<int> sum(N + 1); for(int i = 0; i < N; i++) sum[i + 1] = sum[i] ^ (a[i] >> (19 - b)); map<int, int> index; bool ok = false; for(int i = sum.size() - 1; i >= 0; i--){ int want = sum[i] ^ B; if(index.count(want)){ lasts = i + 1; lastt = index[want]; ok = true; } index[sum[i]] = i; } if(ok){ cur = B << (19 - b); }else{ cur = (B ^ 1) << (19 - b); } } printf("%d %d %d\n", cur, lasts, lastt); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Maximum Segment XOR |
User | YellowYell |
Language | C++11 (GCC 4.8.1) |
Score | 100 |
Code Size | 1258 Byte |
Status | AC |
Exec Time | 899 ms |
Memory | 5948 KB |
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 | 23 ms | 804 KB |
10 | AC | 25 ms | 808 KB |
11 | AC | 24 ms | 924 KB |
12 | AC | 24 ms | 812 KB |
13 | AC | 54 ms | 1012 KB |
14 | AC | 64 ms | 1196 KB |
15 | AC | 70 ms | 1136 KB |
16 | AC | 363 ms | 3600 KB |
17 | AC | 243 ms | 2388 KB |
18 | AC | 899 ms | 5948 KB |
19 | AC | 22 ms | 800 KB |
2 | AC | 22 ms | 796 KB |
20 | AC | 21 ms | 800 KB |
21 | AC | 21 ms | 804 KB |
22 | AC | 23 ms | 808 KB |
23 | AC | 22 ms | 804 KB |
24 | AC | 22 ms | 804 KB |
25 | AC | 32 ms | 868 KB |
26 | AC | 28 ms | 800 KB |
27 | AC | 46 ms | 1064 KB |
28 | AC | 483 ms | 4272 KB |
29 | AC | 565 ms | 4492 KB |
3 | AC | 21 ms | 800 KB |
30 | AC | 306 ms | 3132 KB |
31 | AC | 624 ms | 5680 KB |
4 | AC | 20 ms | 800 KB |
5 | AC | 21 ms | 800 KB |
6 | AC | 21 ms | 804 KB |
7 | AC | 22 ms | 928 KB |
8 | AC | 21 ms | 928 KB |
9 | AC | 24 ms | 744 KB |