Submission #42642

# Submission time Handle Problem Language Result Execution time Memory
42642 2018-03-01T17:14:33 Z XmtosX Three Friends (BOI14_friends) C++14
100 / 100
76 ms 7660 KB
#include <bits/stdc++.h>
using namespace std;
int n,cnt,cnt1;
string s,s1,s2,ans;
bool yes;
int main()
{
    cin >>n>>s;
    if (n%2==0)
    {
        cout <<"NOT POSSIBLE";
        return 0;
    }
    s1=s.substr(n/2+1,n/2);
    s2=s.substr(0,n/2+1);
    for (int i=0,j=0;i<=s1.size()||j<=s2.size();i++,j++)
    {
        if (i==s1.size())
        {
            cnt++;
            break;
        }
        if (s1[i]!=s2[j])
        {
            if (i!=j)
                break;
            i--;
        }
    }
    if (cnt)
        ans=s1;
    s1=s.substr(0,n/2);
    s2=s.substr(n/2,n/2+1);
    if (s1==ans)
        goto ss;
    for (int i=0,j=0;i<=s1.size()||j<=s2.size();i++,j++)
    {
        if (i==s1.size())
        {
            cnt1++;
            break;
        }
        if (s1[i]!=s2[j])
        {
            if (i!=j)
                break;
            i--;
        }
    }
    ss:
    if (!cnt&&!cnt1)
        cout <<"NOT POSSIBLE";
    else if (cnt+cnt1>1&&s1!=ans)
        cout <<"NOT UNIQUE";
    else if (cnt1)
        cout<<s1;
    else
        cout <<ans;
    return 0;
}

Compilation message

friends.cpp: In function 'int main()':
friends.cpp:16:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i=0,j=0;i<=s1.size()||j<=s2.size();i++,j++)
                       ^
friends.cpp:16:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i=0,j=0;i<=s1.size()||j<=s2.size();i++,j++)
                                     ^
friends.cpp:18:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (i==s1.size())
              ^
friends.cpp:36:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i=0,j=0;i<=s1.size()||j<=s2.size();i++,j++)
                       ^
friends.cpp:36:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i=0,j=0;i<=s1.size()||j<=s2.size();i++,j++)
                                     ^
friends.cpp:38:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (i==s1.size())
              ^
# Verdict Execution time Memory Grader output
1 Correct 1 ms 248 KB Output is correct
2 Correct 1 ms 352 KB Output is correct
3 Correct 1 ms 424 KB Output is correct
4 Correct 2 ms 500 KB Output is correct
5 Correct 1 ms 532 KB Output is correct
6 Correct 1 ms 532 KB Output is correct
7 Correct 1 ms 548 KB Output is correct
8 Correct 2 ms 604 KB Output is correct
9 Correct 1 ms 604 KB Output is correct
10 Correct 2 ms 604 KB Output is correct
11 Correct 1 ms 604 KB Output is correct
12 Correct 2 ms 604 KB Output is correct
13 Correct 2 ms 604 KB Output is correct
14 Correct 1 ms 604 KB Output is correct
15 Correct 1 ms 604 KB Output is correct
16 Correct 1 ms 604 KB Output is correct
17 Correct 1 ms 604 KB Output is correct
18 Correct 1 ms 604 KB Output is correct
19 Correct 1 ms 604 KB Output is correct
20 Correct 1 ms 604 KB Output is correct
21 Correct 1 ms 604 KB Output is correct
22 Correct 1 ms 604 KB Output is correct
23 Correct 1 ms 604 KB Output is correct
24 Correct 1 ms 604 KB Output is correct
25 Correct 1 ms 604 KB Output is correct
26 Correct 1 ms 604 KB Output is correct
27 Correct 1 ms 604 KB Output is correct
28 Correct 1 ms 604 KB Output is correct
29 Correct 1 ms 604 KB Output is correct
30 Correct 1 ms 604 KB Output is correct
31 Correct 2 ms 604 KB Output is correct
32 Correct 1 ms 604 KB Output is correct
33 Correct 1 ms 604 KB Output is correct
34 Correct 1 ms 604 KB Output is correct
35 Correct 1 ms 604 KB Output is correct
36 Correct 1 ms 604 KB Output is correct
37 Correct 1 ms 604 KB Output is correct
38 Correct 1 ms 604 KB Output is correct
39 Correct 1 ms 604 KB Output is correct
40 Correct 1 ms 604 KB Output is correct
41 Correct 1 ms 604 KB Output is correct
42 Correct 1 ms 604 KB Output is correct
43 Correct 2 ms 604 KB Output is correct
44 Correct 1 ms 604 KB Output is correct
45 Correct 2 ms 604 KB Output is correct
46 Correct 1 ms 604 KB Output is correct
47 Correct 1 ms 604 KB Output is correct
48 Correct 1 ms 620 KB Output is correct
49 Correct 2 ms 620 KB Output is correct
50 Correct 1 ms 620 KB Output is correct
51 Correct 2 ms 620 KB Output is correct
52 Correct 1 ms 620 KB Output is correct
53 Correct 1 ms 660 KB Output is correct
54 Correct 1 ms 660 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 75 ms 7476 KB Output is correct
2 Correct 72 ms 7660 KB Output is correct
3 Correct 74 ms 7660 KB Output is correct
4 Correct 76 ms 7660 KB Output is correct
5 Correct 75 ms 7660 KB Output is correct
6 Correct 73 ms 7660 KB Output is correct
7 Correct 76 ms 7660 KB Output is correct
8 Correct 65 ms 7660 KB Output is correct
9 Correct 64 ms 7660 KB Output is correct
10 Correct 72 ms 7660 KB Output is correct
11 Correct 60 ms 7660 KB Output is correct
12 Correct 2 ms 7660 KB Output is correct
13 Correct 2 ms 7660 KB Output is correct
14 Correct 1 ms 7660 KB Output is correct
15 Correct 2 ms 7660 KB Output is correct
16 Correct 2 ms 7660 KB Output is correct
17 Correct 2 ms 7660 KB Output is correct
18 Correct 1 ms 7660 KB Output is correct
19 Correct 1 ms 7660 KB Output is correct
20 Correct 1 ms 7660 KB Output is correct
21 Correct 2 ms 7660 KB Output is correct
22 Correct 1 ms 7660 KB Output is correct
23 Correct 1 ms 7660 KB Output is correct
24 Correct 1 ms 7660 KB Output is correct
25 Correct 1 ms 7660 KB Output is correct
26 Correct 1 ms 7660 KB Output is correct
27 Correct 1 ms 7660 KB Output is correct
28 Correct 1 ms 7660 KB Output is correct
29 Correct 1 ms 7660 KB Output is correct
30 Correct 1 ms 7660 KB Output is correct
31 Correct 1 ms 7660 KB Output is correct
32 Correct 1 ms 7660 KB Output is correct
33 Correct 1 ms 7660 KB Output is correct
34 Correct 1 ms 7660 KB Output is correct
35 Correct 1 ms 7660 KB Output is correct
36 Correct 1 ms 7660 KB Output is correct
37 Correct 1 ms 7660 KB Output is correct
38 Correct 1 ms 7660 KB Output is correct
39 Correct 1 ms 7660 KB Output is correct
40 Correct 1 ms 7660 KB Output is correct
41 Correct 1 ms 7660 KB Output is correct
42 Correct 1 ms 7660 KB Output is correct
43 Correct 1 ms 7660 KB Output is correct
44 Correct 2 ms 7660 KB Output is correct
45 Correct 1 ms 7660 KB Output is correct
46 Correct 1 ms 7660 KB Output is correct
47 Correct 1 ms 7660 KB Output is correct
48 Correct 1 ms 7660 KB Output is correct
49 Correct 1 ms 7660 KB Output is correct
50 Correct 1 ms 7660 KB Output is correct
51 Correct 1 ms 7660 KB Output is correct
52 Correct 1 ms 7660 KB Output is correct
53 Correct 1 ms 7660 KB Output is correct
54 Correct 1 ms 7660 KB Output is correct