Submission #106104

# Submission time Handle Problem Language Result Execution time Memory
106104 2019-04-16T14:34:36 Z sofhiasouza Three Friends (BOI14_friends) C++14
100 / 100
123 ms 11104 KB
#include <bits/stdc++.h>
#define pb push_back
using namespace std;
int main()
{
	int n, resp1 = 1, resp2 = 1;
	string s;
	cin >> n;
	cin >> s;
	
	if(n%2 == 0)
	{
		cout << "NOT POSSIBLE\n";
		return 0;
	}
	
	int meio = n/2;
	string a = "", b = "", s1 = "", s2 =  "";
	for(int i = 0 ; i < n ; i++)
	{
		if(i < meio) a.pb(s[i]);
		else  b.pb(s[i]);	
	}
	
	int v = -1, j = 0;
	for(int i = 0 ; i < meio ; i++)
	{
		if(a[i] != b[j])
		{
			if(v == -1 and a[i] == b[++j]) v = i;
			else
			{
				resp1 = 0;
				break;
			}
		}
		s1.pb(a[i]);
		j++;
	}
	
	v = -1, j = 0;
	a = "", b = "";
	for(int i = 0 ; i < n ; i++)
	{
		if(i <= meio) b.pb(s[i]);
		else a.pb(s[i]);	
	}
	
	for(int i = 0 ; i < meio ; i++)
	{
		if(a[i] != b[j])
		{
			if(v == -1 and a[i] == b[++j]) v = i;
			else
			{
				resp2 = 0;
				break;
			}
		}
		s2.pb(a[i]);
		j++;
	}
	
	if(!resp1 and !resp2) cout << "NOT POSSIBLE\n";
	else if((resp1 and !resp2) or (resp1 and resp2 and s1 == s2)) cout << s1 << endl;
	else if(resp2 and !resp1) cout << s2 << endl;
	else cout << "NOT UNIQUE\n";
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 3 ms 256 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
4 Correct 3 ms 384 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 2 ms 384 KB Output is correct
7 Correct 2 ms 256 KB Output is correct
8 Correct 2 ms 384 KB Output is correct
9 Correct 2 ms 256 KB Output is correct
10 Correct 3 ms 384 KB Output is correct
11 Correct 3 ms 384 KB Output is correct
12 Correct 2 ms 256 KB Output is correct
13 Correct 2 ms 256 KB Output is correct
14 Correct 2 ms 384 KB Output is correct
15 Correct 2 ms 256 KB Output is correct
16 Correct 2 ms 384 KB Output is correct
17 Correct 2 ms 256 KB Output is correct
18 Correct 2 ms 384 KB Output is correct
19 Correct 2 ms 256 KB Output is correct
20 Correct 2 ms 256 KB Output is correct
21 Correct 2 ms 256 KB Output is correct
22 Correct 3 ms 384 KB Output is correct
23 Correct 2 ms 256 KB Output is correct
24 Correct 2 ms 256 KB Output is correct
25 Correct 2 ms 256 KB Output is correct
26 Correct 2 ms 384 KB Output is correct
27 Correct 3 ms 384 KB Output is correct
28 Correct 2 ms 256 KB Output is correct
29 Correct 2 ms 256 KB Output is correct
30 Correct 2 ms 256 KB Output is correct
31 Correct 3 ms 384 KB Output is correct
32 Correct 3 ms 512 KB Output is correct
33 Correct 2 ms 256 KB Output is correct
34 Correct 3 ms 256 KB Output is correct
35 Correct 3 ms 256 KB Output is correct
36 Correct 2 ms 256 KB Output is correct
37 Correct 2 ms 256 KB Output is correct
38 Correct 3 ms 256 KB Output is correct
39 Correct 2 ms 384 KB Output is correct
40 Correct 3 ms 384 KB Output is correct
41 Correct 2 ms 384 KB Output is correct
42 Correct 19 ms 384 KB Output is correct
43 Correct 3 ms 384 KB Output is correct
44 Correct 2 ms 384 KB Output is correct
45 Correct 2 ms 256 KB Output is correct
46 Correct 3 ms 384 KB Output is correct
47 Correct 3 ms 256 KB Output is correct
48 Correct 2 ms 384 KB Output is correct
49 Correct 3 ms 384 KB Output is correct
50 Correct 3 ms 256 KB Output is correct
51 Correct 2 ms 256 KB Output is correct
52 Correct 2 ms 384 KB Output is correct
53 Correct 2 ms 384 KB Output is correct
54 Correct 2 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 95 ms 9056 KB Output is correct
2 Correct 104 ms 11044 KB Output is correct
3 Correct 123 ms 11080 KB Output is correct
4 Correct 93 ms 11044 KB Output is correct
5 Correct 93 ms 10976 KB Output is correct
6 Correct 65 ms 6232 KB Output is correct
7 Correct 93 ms 11104 KB Output is correct
8 Correct 109 ms 8296 KB Output is correct
9 Correct 93 ms 9192 KB Output is correct
10 Correct 72 ms 8300 KB Output is correct
11 Correct 69 ms 6152 KB Output is correct
12 Correct 2 ms 384 KB Output is correct
13 Correct 2 ms 256 KB Output is correct
14 Correct 3 ms 384 KB Output is correct
15 Correct 3 ms 384 KB Output is correct
16 Correct 3 ms 384 KB Output is correct
17 Correct 2 ms 384 KB Output is correct
18 Correct 2 ms 300 KB Output is correct
19 Correct 2 ms 256 KB Output is correct
20 Correct 2 ms 256 KB Output is correct
21 Correct 3 ms 256 KB Output is correct
22 Correct 3 ms 384 KB Output is correct
23 Correct 3 ms 384 KB Output is correct
24 Correct 3 ms 384 KB Output is correct
25 Correct 3 ms 256 KB Output is correct
26 Correct 2 ms 384 KB Output is correct
27 Correct 3 ms 384 KB Output is correct
28 Correct 2 ms 384 KB Output is correct
29 Correct 2 ms 256 KB Output is correct
30 Correct 2 ms 384 KB Output is correct
31 Correct 2 ms 256 KB Output is correct
32 Correct 2 ms 256 KB Output is correct
33 Correct 2 ms 384 KB Output is correct
34 Correct 2 ms 384 KB Output is correct
35 Correct 2 ms 384 KB Output is correct
36 Correct 2 ms 256 KB Output is correct
37 Correct 2 ms 384 KB Output is correct
38 Correct 2 ms 256 KB Output is correct
39 Correct 3 ms 384 KB Output is correct
40 Correct 2 ms 256 KB Output is correct
41 Correct 2 ms 384 KB Output is correct
42 Correct 2 ms 256 KB Output is correct
43 Correct 2 ms 384 KB Output is correct
44 Correct 2 ms 256 KB Output is correct
45 Correct 4 ms 384 KB Output is correct
46 Correct 2 ms 256 KB Output is correct
47 Correct 3 ms 256 KB Output is correct
48 Correct 2 ms 384 KB Output is correct
49 Correct 2 ms 384 KB Output is correct
50 Correct 2 ms 384 KB Output is correct
51 Correct 2 ms 384 KB Output is correct
52 Correct 3 ms 256 KB Output is correct
53 Correct 2 ms 384 KB Output is correct
54 Correct 2 ms 384 KB Output is correct