Submission #697437

# Submission time Handle Problem Language Result Execution time Memory
697437 2023-02-09T19:51:07 Z Deepesson Three Friends (BOI14_friends) C++17
100 / 100
32 ms 5356 KB
#include <bits/stdc++.h>
int main()
{
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    std::cout.tie(0);
    int N;
    std::cin>>N;
    if(!(N&1)){
        std::cout<<"NOT POSSIBLE\n";
        return 0;
    }
    int size = (N-1)/2;
    std::string s;
    std::cin>>s;
    int skips[2]={};
    int cur1=0,cur2=N-size;
    while(cur2!=N){
        if(s[cur1]==s[cur2]){
            ++cur1;
            ++cur2;
        }else {
            ++skips[0];
            if(skips[0]==2){
                break;
            }
            ++cur1;
        }
    }
    if(cur1!=size+1)skips[0]++;
    cur1=N-size-1,cur2=0;
    while(cur2!=size){
        if(s[cur1]==s[cur2]){
            ++cur1;
            ++cur2;
        }else {
            ++skips[1];
            if(skips[1]==2){
                break;
            }
            ++cur1;
        }
    }
    if(cur1!=N)skips[1]++;
    //std::cout<<skips[0]<<" "<<skips[1]<<"\n";
    if(skips[0]>1&&skips[1]>1){
        std::cout<<"NOT POSSIBLE\n";
        return 0;
    }else if(skips[0]<2&&skips[1]<2){///caso especial: ambas as strings sao iguais
        int cur1=0,cur2=N-size;
        while(cur2!=N){
            if(s[cur1]!=s[cur2]){
                std::cout<<"NOT UNIQUE\n";
                return 0;
            }
            ++cur1;
            ++cur2;
        }
        for(int i=0;i!=size;++i){
                std::cout<<s[i];
            }
            std::cout<<"\n";
    }else {
        if(skips[1]<2){
            for(int i=0;i!=size;++i){
                std::cout<<s[i];
            }
            std::cout<<"\n";
        }else {
            for(int i=N-size;i!=N;++i){
                std::cout<<s[i];
            }
            std::cout<<"\n";
        }
    }
 
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 0 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 1 ms 212 KB Output is correct
16 Correct 1 ms 316 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 1 ms 212 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 0 ms 212 KB Output is correct
21 Correct 0 ms 212 KB Output is correct
22 Correct 1 ms 212 KB Output is correct
23 Correct 1 ms 212 KB Output is correct
24 Correct 1 ms 212 KB Output is correct
25 Correct 1 ms 212 KB Output is correct
26 Correct 1 ms 316 KB Output is correct
27 Correct 1 ms 320 KB Output is correct
28 Correct 0 ms 212 KB Output is correct
29 Correct 0 ms 212 KB Output is correct
30 Correct 0 ms 324 KB Output is correct
31 Correct 0 ms 212 KB Output is correct
32 Correct 0 ms 212 KB Output is correct
33 Correct 0 ms 212 KB Output is correct
34 Correct 0 ms 212 KB Output is correct
35 Correct 0 ms 340 KB Output is correct
36 Correct 0 ms 316 KB Output is correct
37 Correct 0 ms 212 KB Output is correct
38 Correct 1 ms 316 KB Output is correct
39 Correct 0 ms 212 KB Output is correct
40 Correct 0 ms 212 KB Output is correct
41 Correct 0 ms 212 KB Output is correct
42 Correct 0 ms 320 KB Output is correct
43 Correct 0 ms 212 KB Output is correct
44 Correct 1 ms 212 KB Output is correct
45 Correct 0 ms 212 KB Output is correct
46 Correct 1 ms 316 KB Output is correct
47 Correct 0 ms 212 KB Output is correct
48 Correct 0 ms 212 KB Output is correct
49 Correct 1 ms 212 KB Output is correct
50 Correct 0 ms 212 KB Output is correct
51 Correct 0 ms 212 KB Output is correct
52 Correct 1 ms 212 KB Output is correct
53 Correct 0 ms 212 KB Output is correct
54 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 27 ms 5252 KB Output is correct
2 Correct 25 ms 5260 KB Output is correct
3 Correct 32 ms 5284 KB Output is correct
4 Correct 26 ms 5356 KB Output is correct
5 Correct 25 ms 5292 KB Output is correct
6 Correct 0 ms 340 KB Output is correct
7 Correct 26 ms 5280 KB Output is correct
8 Correct 6 ms 3952 KB Output is correct
9 Correct 23 ms 4824 KB Output is correct
10 Correct 22 ms 4844 KB Output is correct
11 Correct 4 ms 3704 KB Output is correct
12 Correct 0 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 0 ms 212 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 0 ms 212 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 1 ms 320 KB Output is correct
21 Correct 0 ms 212 KB Output is correct
22 Correct 0 ms 212 KB Output is correct
23 Correct 0 ms 320 KB Output is correct
24 Correct 0 ms 212 KB Output is correct
25 Correct 0 ms 320 KB Output is correct
26 Correct 0 ms 212 KB Output is correct
27 Correct 1 ms 212 KB Output is correct
28 Correct 1 ms 212 KB Output is correct
29 Correct 1 ms 212 KB Output is correct
30 Correct 0 ms 212 KB Output is correct
31 Correct 1 ms 212 KB Output is correct
32 Correct 0 ms 212 KB Output is correct
33 Correct 0 ms 320 KB Output is correct
34 Correct 0 ms 212 KB Output is correct
35 Correct 0 ms 212 KB Output is correct
36 Correct 0 ms 212 KB Output is correct
37 Correct 0 ms 212 KB Output is correct
38 Correct 1 ms 212 KB Output is correct
39 Correct 0 ms 212 KB Output is correct
40 Correct 0 ms 212 KB Output is correct
41 Correct 0 ms 212 KB Output is correct
42 Correct 0 ms 212 KB Output is correct
43 Correct 0 ms 212 KB Output is correct
44 Correct 0 ms 212 KB Output is correct
45 Correct 1 ms 212 KB Output is correct
46 Correct 1 ms 212 KB Output is correct
47 Correct 0 ms 212 KB Output is correct
48 Correct 0 ms 212 KB Output is correct
49 Correct 1 ms 212 KB Output is correct
50 Correct 0 ms 320 KB Output is correct
51 Correct 0 ms 324 KB Output is correct
52 Correct 1 ms 320 KB Output is correct
53 Correct 0 ms 212 KB Output is correct
54 Correct 0 ms 212 KB Output is correct