Submission #398897

# Submission time Handle Problem Language Result Execution time Memory
398897 2021-05-04T21:57:42 Z almosabhali Three Friends (BOI14_friends) C++14
100 / 100
37 ms 10968 KB
#include <bits/stdc++.h>
using namespace std;
void fast() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
}
int main() {
    fast();
    int n;
    string s;
    cin>>n>>s;
    // for(char c:s) counter[c-'A']++;
    // int odd=0;
    // char index;
    // for(int i=0;i<26;i++) {
    //     odd+=(counter[i]%2);
    //     if(counter[i]%2) index=i+'A';
    // }
    // if(odd!=1) cout<<"NOT POSSIBLE\n";
    if(n%2==0) {
        cout<<"NOT POSSIBLE\n";
        return 0;
    }
    // cout<<"debug\n";
    string ans1,ans2;
    bool f=0;
    string res1,res2;
    string l,r;
    f=0;
    res1.clear();
    res2.clear();
    l=s.substr(0,n/2),r=s.substr(n/2,n/2+1);
    // cout<<l<<' '<<r<<'\n';
    for(int i=0;i<n/2;i++) {
        if(l[i]!=r[i+f]) f=1;

        res1+=l[i];
        res2+=r[i+f];
    }
    ans1=(res1 == res2 ? res1 : "");

    f=0;
    res1.clear();
    res2.clear();
    l=s.substr(0,n/2+1),r=s.substr(n/2+1,n/2);
    // cout<<l<<' '<<r<<'\n';
    for(int i=0;i<n/2;i++) {
        if(r[i]!=l[i+f]) f=1;
        
        res1+=r[i];
        res2+=l[i+f];
    }

    ans2=(res1 == res2 ? res1 : "");

    if(ans1.size() && ans2.size() && ans1!=ans2) cout<<"NOT UNIQUE\n";
    else if(!ans1.size() && !ans2.size()) cout<<"NOT POSSIBLE\n";
    else if(ans1.size()) cout<<ans1<<'\n';
    else cout<<ans2<<'\n';
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 208 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 1 ms 328 KB Output is correct
11 Correct 1 ms 204 KB Output is correct
12 Correct 1 ms 204 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 1 ms 204 KB Output is correct
16 Correct 1 ms 204 KB Output is correct
17 Correct 1 ms 204 KB Output is correct
18 Correct 1 ms 204 KB Output is correct
19 Correct 1 ms 204 KB Output is correct
20 Correct 1 ms 204 KB Output is correct
21 Correct 1 ms 204 KB Output is correct
22 Correct 1 ms 204 KB Output is correct
23 Correct 1 ms 204 KB Output is correct
24 Correct 1 ms 204 KB Output is correct
25 Correct 1 ms 204 KB Output is correct
26 Correct 1 ms 204 KB Output is correct
27 Correct 1 ms 204 KB Output is correct
28 Correct 1 ms 204 KB Output is correct
29 Correct 1 ms 204 KB Output is correct
30 Correct 1 ms 204 KB Output is correct
31 Correct 1 ms 204 KB Output is correct
32 Correct 1 ms 204 KB Output is correct
33 Correct 1 ms 204 KB Output is correct
34 Correct 1 ms 204 KB Output is correct
35 Correct 1 ms 204 KB Output is correct
36 Correct 1 ms 204 KB Output is correct
37 Correct 1 ms 204 KB Output is correct
38 Correct 1 ms 204 KB Output is correct
39 Correct 1 ms 204 KB Output is correct
40 Correct 1 ms 204 KB Output is correct
41 Correct 1 ms 204 KB Output is correct
42 Correct 1 ms 204 KB Output is correct
43 Correct 1 ms 204 KB Output is correct
44 Correct 1 ms 204 KB Output is correct
45 Correct 1 ms 204 KB Output is correct
46 Correct 1 ms 204 KB Output is correct
47 Correct 1 ms 204 KB Output is correct
48 Correct 1 ms 204 KB Output is correct
49 Correct 1 ms 204 KB Output is correct
50 Correct 1 ms 204 KB Output is correct
51 Correct 1 ms 204 KB Output is correct
52 Correct 1 ms 204 KB Output is correct
53 Correct 1 ms 204 KB Output is correct
54 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 34 ms 10020 KB Output is correct
2 Correct 34 ms 10036 KB Output is correct
3 Correct 34 ms 10088 KB Output is correct
4 Correct 34 ms 10084 KB Output is correct
5 Correct 37 ms 10176 KB Output is correct
6 Correct 5 ms 2408 KB Output is correct
7 Correct 35 ms 10968 KB Output is correct
8 Correct 31 ms 8612 KB Output is correct
9 Correct 31 ms 9456 KB Output is correct
10 Correct 32 ms 8548 KB Output is correct
11 Correct 28 ms 7304 KB Output is correct
12 Correct 1 ms 204 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 1 ms 208 KB Output is correct
15 Correct 1 ms 204 KB Output is correct
16 Correct 1 ms 204 KB Output is correct
17 Correct 1 ms 204 KB Output is correct
18 Correct 1 ms 204 KB Output is correct
19 Correct 1 ms 204 KB Output is correct
20 Correct 1 ms 204 KB Output is correct
21 Correct 1 ms 204 KB Output is correct
22 Correct 1 ms 204 KB Output is correct
23 Correct 1 ms 204 KB Output is correct
24 Correct 1 ms 204 KB Output is correct
25 Correct 1 ms 204 KB Output is correct
26 Correct 1 ms 204 KB Output is correct
27 Correct 1 ms 204 KB Output is correct
28 Correct 1 ms 204 KB Output is correct
29 Correct 1 ms 328 KB Output is correct
30 Correct 1 ms 204 KB Output is correct
31 Correct 1 ms 204 KB Output is correct
32 Correct 1 ms 204 KB Output is correct
33 Correct 1 ms 204 KB Output is correct
34 Correct 1 ms 204 KB Output is correct
35 Correct 1 ms 204 KB Output is correct
36 Correct 1 ms 204 KB Output is correct
37 Correct 1 ms 204 KB Output is correct
38 Correct 1 ms 204 KB Output is correct
39 Correct 1 ms 204 KB Output is correct
40 Correct 1 ms 204 KB Output is correct
41 Correct 1 ms 204 KB Output is correct
42 Correct 1 ms 204 KB Output is correct
43 Correct 1 ms 204 KB Output is correct
44 Correct 1 ms 204 KB Output is correct
45 Correct 1 ms 204 KB Output is correct
46 Correct 1 ms 204 KB Output is correct
47 Correct 1 ms 204 KB Output is correct
48 Correct 1 ms 204 KB Output is correct
49 Correct 1 ms 204 KB Output is correct
50 Correct 1 ms 204 KB Output is correct
51 Correct 1 ms 204 KB Output is correct
52 Correct 1 ms 204 KB Output is correct
53 Correct 1 ms 212 KB Output is correct
54 Correct 1 ms 216 KB Output is correct