Submission #31923

# Submission time Handle Problem Language Result Execution time Memory
31923 2017-09-15T20:21:46 Z chonka Three Friends (BOI14_friends) C++
100 / 100
123 ms 27320 KB
#include<iostream>
#include<stdio.h>
#include<string>
using namespace std ;

#define MAXN 2000007

int n ;
string a ;
int pref[ MAXN ] ;
int suff[ MAXN ] ;


bool f ( string s ) {
    int i ;
    int pos = 0 ;
    int br = 0 ;
    for ( i = 0 ; i < n ; i ++ ) {
        if ( a[ i ] == s[ pos ] ) {
            pos ++ ;
        }
        if ( pos == ( n / 2 ) ) {
            br ++ ;
            pos = 0 ;
        }
    }
    return ( br == 2 ) ;
}

void input ( ) {
    cin >> n ;
    cin >> a ;
}

void solve ( ) {
    if ( ( n % 2 ) == 0 ) { cout << "NOT POSSIBLE\n" ; return ; }
    int i ;
    int pos = ( n / 2 ) ;
    string x , y ;
    x.clear ( ) ;
    y.clear ( ) ;
    for ( i = 0 ; i < pos ; i ++ ) {
        x += a[ i ] ;
    }
    for ( i = pos + 1 ; i < n ; i ++ ) {
        y += a[ i ] ;
    }
    if ( x == y ) { cout << x << "\n" ; return ; }
    if ( f ( x ) == true && f ( y ) == true ) { cout << "NOT UNIQUE\n" ; }
    else if ( f ( x ) == true ) { cout << x << "\n" ; }
    else if ( f ( y ) == true ) { cout << y << "\n" ; }
    else { cout << "NOT POSSIBLE\n" ; }
}

int main ( ) {
    input ( ) ;
    solve ( ) ;
    return 0 ;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 17640 KB Output is correct
2 Correct 0 ms 17640 KB Output is correct
3 Correct 0 ms 17640 KB Output is correct
4 Correct 0 ms 17640 KB Output is correct
5 Correct 0 ms 17640 KB Output is correct
6 Correct 0 ms 17640 KB Output is correct
7 Correct 0 ms 17640 KB Output is correct
8 Correct 0 ms 17640 KB Output is correct
9 Correct 0 ms 17640 KB Output is correct
10 Correct 0 ms 17640 KB Output is correct
11 Correct 0 ms 17640 KB Output is correct
12 Correct 0 ms 17640 KB Output is correct
13 Correct 0 ms 17640 KB Output is correct
14 Correct 0 ms 17640 KB Output is correct
15 Correct 0 ms 17640 KB Output is correct
16 Correct 0 ms 17640 KB Output is correct
17 Correct 0 ms 17640 KB Output is correct
18 Correct 0 ms 17640 KB Output is correct
19 Correct 0 ms 17640 KB Output is correct
20 Correct 0 ms 17640 KB Output is correct
21 Correct 0 ms 17640 KB Output is correct
22 Correct 0 ms 17640 KB Output is correct
23 Correct 0 ms 17640 KB Output is correct
24 Correct 0 ms 17640 KB Output is correct
25 Correct 0 ms 17640 KB Output is correct
26 Correct 0 ms 17640 KB Output is correct
27 Correct 0 ms 17640 KB Output is correct
28 Correct 0 ms 17640 KB Output is correct
29 Correct 0 ms 17640 KB Output is correct
30 Correct 0 ms 17640 KB Output is correct
31 Correct 0 ms 17640 KB Output is correct
32 Correct 0 ms 17640 KB Output is correct
33 Correct 0 ms 17640 KB Output is correct
34 Correct 0 ms 17640 KB Output is correct
35 Correct 0 ms 17640 KB Output is correct
36 Correct 0 ms 17640 KB Output is correct
37 Correct 0 ms 17640 KB Output is correct
38 Correct 0 ms 17640 KB Output is correct
39 Correct 0 ms 17640 KB Output is correct
40 Correct 0 ms 17640 KB Output is correct
41 Correct 0 ms 17640 KB Output is correct
42 Correct 0 ms 17640 KB Output is correct
43 Correct 0 ms 17640 KB Output is correct
44 Correct 0 ms 17640 KB Output is correct
45 Correct 0 ms 17640 KB Output is correct
46 Correct 0 ms 17640 KB Output is correct
47 Correct 0 ms 17640 KB Output is correct
48 Correct 0 ms 17640 KB Output is correct
49 Correct 0 ms 17640 KB Output is correct
50 Correct 0 ms 17640 KB Output is correct
51 Correct 0 ms 17640 KB Output is correct
52 Correct 0 ms 17640 KB Output is correct
53 Correct 0 ms 17640 KB Output is correct
54 Correct 0 ms 17640 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 119 ms 27320 KB Output is correct
2 Correct 123 ms 27320 KB Output is correct
3 Correct 113 ms 27320 KB Output is correct
4 Correct 113 ms 27320 KB Output is correct
5 Correct 99 ms 27320 KB Output is correct
6 Correct 66 ms 23484 KB Output is correct
7 Correct 83 ms 27320 KB Output is correct
8 Correct 79 ms 23400 KB Output is correct
9 Correct 96 ms 23400 KB Output is correct
10 Correct 103 ms 22520 KB Output is correct
11 Correct 93 ms 22520 KB Output is correct
12 Correct 0 ms 17640 KB Output is correct
13 Correct 0 ms 17640 KB Output is correct
14 Correct 0 ms 17640 KB Output is correct
15 Correct 0 ms 17640 KB Output is correct
16 Correct 0 ms 17640 KB Output is correct
17 Correct 0 ms 17640 KB Output is correct
18 Correct 0 ms 17640 KB Output is correct
19 Correct 0 ms 17640 KB Output is correct
20 Correct 0 ms 17640 KB Output is correct
21 Correct 0 ms 17640 KB Output is correct
22 Correct 0 ms 17640 KB Output is correct
23 Correct 0 ms 17640 KB Output is correct
24 Correct 0 ms 17640 KB Output is correct
25 Correct 0 ms 17640 KB Output is correct
26 Correct 0 ms 17640 KB Output is correct
27 Correct 0 ms 17640 KB Output is correct
28 Correct 0 ms 17640 KB Output is correct
29 Correct 0 ms 17640 KB Output is correct
30 Correct 0 ms 17640 KB Output is correct
31 Correct 0 ms 17640 KB Output is correct
32 Correct 0 ms 17640 KB Output is correct
33 Correct 0 ms 17640 KB Output is correct
34 Correct 0 ms 17640 KB Output is correct
35 Correct 0 ms 17640 KB Output is correct
36 Correct 0 ms 17640 KB Output is correct
37 Correct 0 ms 17640 KB Output is correct
38 Correct 0 ms 17640 KB Output is correct
39 Correct 0 ms 17640 KB Output is correct
40 Correct 0 ms 17640 KB Output is correct
41 Correct 0 ms 17640 KB Output is correct
42 Correct 0 ms 17640 KB Output is correct
43 Correct 0 ms 17640 KB Output is correct
44 Correct 0 ms 17640 KB Output is correct
45 Correct 0 ms 17640 KB Output is correct
46 Correct 0 ms 17640 KB Output is correct
47 Correct 0 ms 17640 KB Output is correct
48 Correct 0 ms 17640 KB Output is correct
49 Correct 0 ms 17640 KB Output is correct
50 Correct 0 ms 17640 KB Output is correct
51 Correct 0 ms 17640 KB Output is correct
52 Correct 0 ms 17640 KB Output is correct
53 Correct 0 ms 17640 KB Output is correct
54 Correct 0 ms 17640 KB Output is correct