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
AC × 31
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