Submission #15964

# Submission time Handle Problem Language Result Execution time Memory
15964 2015-08-02T14:39:27 Z myungwoo Three Friends (BOI14_friends) C++14
100 / 100
33 ms 5436 KB
#include <bits/stdc++.h>
using namespace std;

#define MAXN 2000006

int N;
char A[MAXN];

int main()
{
	scanf("%d%s", &N, A+1);
	if (!(N&1)){ puts("NOT POSSIBLE"); return 0; }
	bool sw = 0;
	for (int i=1;i<N;i++) if (A[i] != A[N]){ sw = 1; break; }
	if (!sw){ puts(A+N/2+2); return 0; }
	int cnt = 0;
	for (int i=1,j=N/2+1;i<=N/2;i++){
		while (j <= N && A[j] != A[i]) j++;
		if (j <= N && A[j] == A[i]) j++, cnt++;
	}
	set <string> S;
	if (cnt == N/2) S.insert(string(A+1, A+N/2+1));
	cnt = 0;
	for (int i=N/2+2,j=1;i<=N;i++){
		while (j <= N/2+1 && A[j] != A[i]) j++;
		if (j <= N/2+1 && A[j] == A[i]) j++, cnt++;
	}
	if (cnt == N/2) S.insert(string(A+N/2+2, A+N+1));
	if (S.empty()) puts("NOT POSSIBLE");
	else if (S.size() > 1) puts("NOT UNIQUE");
	else puts(S.begin()->c_str());
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 3676 KB Output is correct
2 Correct 0 ms 3676 KB Output is correct
3 Correct 0 ms 3676 KB Output is correct
4 Correct 0 ms 3676 KB Output is correct
5 Correct 0 ms 3676 KB Output is correct
6 Correct 0 ms 3676 KB Output is correct
7 Correct 0 ms 3676 KB Output is correct
8 Correct 0 ms 3676 KB Output is correct
9 Correct 0 ms 3676 KB Output is correct
10 Correct 0 ms 3676 KB Output is correct
11 Correct 0 ms 3676 KB Output is correct
12 Correct 0 ms 3676 KB Output is correct
13 Correct 0 ms 3676 KB Output is correct
14 Correct 0 ms 3676 KB Output is correct
15 Correct 0 ms 3676 KB Output is correct
16 Correct 0 ms 3676 KB Output is correct
17 Correct 0 ms 3676 KB Output is correct
18 Correct 0 ms 3676 KB Output is correct
19 Correct 0 ms 3676 KB Output is correct
20 Correct 0 ms 3676 KB Output is correct
21 Correct 0 ms 3676 KB Output is correct
22 Correct 0 ms 3676 KB Output is correct
23 Correct 0 ms 3676 KB Output is correct
24 Correct 0 ms 3676 KB Output is correct
25 Correct 0 ms 3676 KB Output is correct
26 Correct 0 ms 3676 KB Output is correct
27 Correct 0 ms 3676 KB Output is correct
28 Correct 0 ms 3676 KB Output is correct
29 Correct 0 ms 3676 KB Output is correct
30 Correct 0 ms 3676 KB Output is correct
31 Correct 0 ms 3676 KB Output is correct
32 Correct 0 ms 3676 KB Output is correct
33 Correct 0 ms 3676 KB Output is correct
34 Correct 0 ms 3676 KB Output is correct
35 Correct 0 ms 3676 KB Output is correct
36 Correct 0 ms 3676 KB Output is correct
37 Correct 0 ms 3676 KB Output is correct
38 Correct 0 ms 3676 KB Output is correct
39 Correct 0 ms 3676 KB Output is correct
40 Correct 0 ms 3676 KB Output is correct
41 Correct 0 ms 3676 KB Output is correct
42 Correct 0 ms 3676 KB Output is correct
43 Correct 0 ms 3676 KB Output is correct
44 Correct 0 ms 3676 KB Output is correct
45 Correct 0 ms 3676 KB Output is correct
46 Correct 0 ms 3676 KB Output is correct
47 Correct 0 ms 3676 KB Output is correct
48 Correct 0 ms 3676 KB Output is correct
49 Correct 0 ms 3676 KB Output is correct
50 Correct 0 ms 3676 KB Output is correct
51 Correct 0 ms 3676 KB Output is correct
52 Correct 0 ms 3676 KB Output is correct
53 Correct 0 ms 3676 KB Output is correct
54 Correct 0 ms 3676 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 33 ms 4656 KB Output is correct
2 Correct 33 ms 4656 KB Output is correct
3 Correct 31 ms 4656 KB Output is correct
4 Correct 15 ms 4656 KB Output is correct
5 Correct 10 ms 4656 KB Output is correct
6 Correct 6 ms 3676 KB Output is correct
7 Correct 18 ms 3676 KB Output is correct
8 Correct 21 ms 5436 KB Output is correct
9 Correct 14 ms 4556 KB Output is correct
10 Correct 18 ms 4556 KB Output is correct
11 Correct 17 ms 3676 KB Output is correct
12 Correct 0 ms 3676 KB Output is correct
13 Correct 0 ms 3676 KB Output is correct
14 Correct 0 ms 3676 KB Output is correct
15 Correct 0 ms 3676 KB Output is correct
16 Correct 0 ms 3676 KB Output is correct
17 Correct 0 ms 3676 KB Output is correct
18 Correct 0 ms 3676 KB Output is correct
19 Correct 0 ms 3676 KB Output is correct
20 Correct 0 ms 3676 KB Output is correct
21 Correct 0 ms 3676 KB Output is correct
22 Correct 0 ms 3676 KB Output is correct
23 Correct 0 ms 3676 KB Output is correct
24 Correct 0 ms 3676 KB Output is correct
25 Correct 0 ms 3676 KB Output is correct
26 Correct 0 ms 3676 KB Output is correct
27 Correct 0 ms 3676 KB Output is correct
28 Correct 0 ms 3676 KB Output is correct
29 Correct 0 ms 3676 KB Output is correct
30 Correct 0 ms 3676 KB Output is correct
31 Correct 0 ms 3676 KB Output is correct
32 Correct 0 ms 3676 KB Output is correct
33 Correct 0 ms 3676 KB Output is correct
34 Correct 0 ms 3676 KB Output is correct
35 Correct 0 ms 3676 KB Output is correct
36 Correct 0 ms 3676 KB Output is correct
37 Correct 0 ms 3676 KB Output is correct
38 Correct 0 ms 3676 KB Output is correct
39 Correct 0 ms 3676 KB Output is correct
40 Correct 0 ms 3676 KB Output is correct
41 Correct 0 ms 3676 KB Output is correct
42 Correct 0 ms 3676 KB Output is correct
43 Correct 0 ms 3676 KB Output is correct
44 Correct 0 ms 3676 KB Output is correct
45 Correct 0 ms 3676 KB Output is correct
46 Correct 0 ms 3676 KB Output is correct
47 Correct 0 ms 3676 KB Output is correct
48 Correct 0 ms 3676 KB Output is correct
49 Correct 0 ms 3676 KB Output is correct
50 Correct 0 ms 3676 KB Output is correct
51 Correct 0 ms 3676 KB Output is correct
52 Correct 0 ms 3676 KB Output is correct
53 Correct 0 ms 3676 KB Output is correct
54 Correct 0 ms 3676 KB Output is correct