Submission #295092

# Submission time Handle Problem Language Result Execution time Memory
295092 2020-09-09T13:17:03 Z Lawliet Three Friends (BOI14_friends) C++17
100 / 100
105 ms 8168 KB
#include <bits/stdc++.h>

using namespace std;

int n;

string s;

vector<string> ans;

void answer(string t)
{
	cout << t << endl;
	exit(0);
}

void test(string a, string b)
{
	int pA = 0, pB = 0;
	int qtdUnmatches = 0;

	while( pA < (int)a.size() && pB < (int)b.size() )
	{
		if( a[pA] == b[pB] ) pA++, pB++;
		else pB++, qtdUnmatches++;
	}

	if( qtdUnmatches > 1 ) return;

	if( ans.empty() || ans.back() != a )
		ans.push_back( a );
}

int main()
{
	cin >> n >> s;

	if( n%2 == 0 ) answer( "NOT POSSIBLE" );
	n /= 2;

	test( s.substr( 0 , n ) , s.substr( n , n + 1 ) );
	test( s.substr( n + 1 , n ) , s.substr( 0 , n + 1 ) );

	if( ans.empty() ) answer( "NOT POSSIBLE" );
	if( ans.size() == 1 ) answer( ans.back() );
	if( ans.size() == 2 ) answer( "NOT UNIQUE" );
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 1 ms 256 KB Output is correct
4 Correct 1 ms 256 KB Output is correct
5 Correct 1 ms 256 KB Output is correct
6 Correct 1 ms 384 KB Output is correct
7 Correct 1 ms 256 KB Output is correct
8 Correct 1 ms 368 KB Output is correct
9 Correct 1 ms 256 KB Output is correct
10 Correct 0 ms 256 KB Output is correct
11 Correct 1 ms 256 KB Output is correct
12 Correct 1 ms 256 KB Output is correct
13 Correct 1 ms 256 KB Output is correct
14 Correct 0 ms 256 KB Output is correct
15 Correct 1 ms 256 KB Output is correct
16 Correct 0 ms 256 KB Output is correct
17 Correct 1 ms 256 KB Output is correct
18 Correct 0 ms 256 KB Output is correct
19 Correct 1 ms 256 KB Output is correct
20 Correct 0 ms 256 KB Output is correct
21 Correct 1 ms 384 KB Output is correct
22 Correct 0 ms 256 KB Output is correct
23 Correct 1 ms 256 KB Output is correct
24 Correct 0 ms 256 KB Output is correct
25 Correct 0 ms 256 KB Output is correct
26 Correct 1 ms 256 KB Output is correct
27 Correct 1 ms 256 KB Output is correct
28 Correct 1 ms 256 KB Output is correct
29 Correct 0 ms 256 KB Output is correct
30 Correct 0 ms 256 KB Output is correct
31 Correct 0 ms 256 KB Output is correct
32 Correct 0 ms 256 KB Output is correct
33 Correct 1 ms 256 KB Output is correct
34 Correct 1 ms 256 KB Output is correct
35 Correct 1 ms 256 KB Output is correct
36 Correct 1 ms 384 KB Output is correct
37 Correct 0 ms 256 KB Output is correct
38 Correct 0 ms 256 KB Output is correct
39 Correct 1 ms 256 KB Output is correct
40 Correct 1 ms 256 KB Output is correct
41 Correct 1 ms 256 KB Output is correct
42 Correct 1 ms 256 KB Output is correct
43 Correct 1 ms 256 KB Output is correct
44 Correct 1 ms 384 KB Output is correct
45 Correct 1 ms 256 KB Output is correct
46 Correct 1 ms 384 KB Output is correct
47 Correct 1 ms 384 KB Output is correct
48 Correct 1 ms 384 KB Output is correct
49 Correct 1 ms 256 KB Output is correct
50 Correct 1 ms 256 KB Output is correct
51 Correct 1 ms 384 KB Output is correct
52 Correct 1 ms 256 KB Output is correct
53 Correct 1 ms 256 KB Output is correct
54 Correct 1 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 102 ms 8164 KB Output is correct
2 Correct 101 ms 8120 KB Output is correct
3 Correct 105 ms 8164 KB Output is correct
4 Correct 102 ms 8168 KB Output is correct
5 Correct 104 ms 8164 KB Output is correct
6 Correct 98 ms 6248 KB Output is correct
7 Correct 102 ms 8168 KB Output is correct
8 Correct 89 ms 7400 KB Output is correct
9 Correct 93 ms 7404 KB Output is correct
10 Correct 88 ms 7400 KB Output is correct
11 Correct 82 ms 5224 KB Output is correct
12 Correct 0 ms 256 KB Output is correct
13 Correct 1 ms 256 KB Output is correct
14 Correct 1 ms 256 KB Output is correct
15 Correct 1 ms 256 KB Output is correct
16 Correct 1 ms 256 KB Output is correct
17 Correct 1 ms 256 KB Output is correct
18 Correct 0 ms 256 KB Output is correct
19 Correct 0 ms 256 KB Output is correct
20 Correct 1 ms 256 KB Output is correct
21 Correct 1 ms 256 KB Output is correct
22 Correct 1 ms 256 KB Output is correct
23 Correct 1 ms 256 KB Output is correct
24 Correct 0 ms 256 KB Output is correct
25 Correct 1 ms 256 KB Output is correct
26 Correct 0 ms 256 KB Output is correct
27 Correct 0 ms 256 KB Output is correct
28 Correct 1 ms 256 KB Output is correct
29 Correct 0 ms 256 KB Output is correct
30 Correct 0 ms 256 KB Output is correct
31 Correct 1 ms 368 KB Output is correct
32 Correct 1 ms 256 KB Output is correct
33 Correct 0 ms 256 KB Output is correct
34 Correct 0 ms 256 KB Output is correct
35 Correct 1 ms 256 KB Output is correct
36 Correct 1 ms 256 KB Output is correct
37 Correct 1 ms 256 KB Output is correct
38 Correct 0 ms 256 KB Output is correct
39 Correct 0 ms 256 KB Output is correct
40 Correct 1 ms 256 KB Output is correct
41 Correct 0 ms 256 KB Output is correct
42 Correct 1 ms 256 KB Output is correct
43 Correct 1 ms 256 KB Output is correct
44 Correct 0 ms 256 KB Output is correct
45 Correct 1 ms 256 KB Output is correct
46 Correct 0 ms 256 KB Output is correct
47 Correct 1 ms 256 KB Output is correct
48 Correct 1 ms 256 KB Output is correct
49 Correct 0 ms 256 KB Output is correct
50 Correct 1 ms 256 KB Output is correct
51 Correct 0 ms 384 KB Output is correct
52 Correct 0 ms 256 KB Output is correct
53 Correct 1 ms 256 KB Output is correct
54 Correct 1 ms 256 KB Output is correct