Submission #10706

# Submission time Handle Problem Language Result Execution time Memory
10706 2014-11-09T06:40:39 Z dohyun0324 Three Friends (BOI14_friends) C++
100 / 100
32 ms 18664 KB
#include<stdio.h>
int dap,cnt,p,n,arr1[2000010],arr2[2000010],s1,s2;
char a[2000010];
int main()
{
    int i;
    scanf("%d",&n);
    scanf("%s",a);
    if(n%2==0){printf("NOT POSSIBLE"); return 0;}
    for(i=0;i<=n/2;i++)
    {
        if(a[i]==a[i+n/2]) arr1[i]=1;
        if(a[i]==a[i+n/2+1]) arr2[i]=1;
    }
    for(i=n/2;i>=0;i--) if(arr1[i]!=1) break;
    s1=n/2-i;
    for(i=0;i<=n/2;i++) if(arr2[i]!=1) break;
    s2=i;
    if(s1+s2==n/2) dap=s2, cnt++;
    if(s1+s2>n/2)
    {
        int sw=0;
        for(i=s2;i>=0;i--)
        {
            if(n/2-i>s1) break;
            if(a[i]!=a[s2]) sw=1;
        }
        if(sw==1){printf("NOT UNIQUE"); return 0;}
        dap=s2; cnt++;
    }
    if(dap==n/2) cnt=0;
    for(i=0;i<n/2;i++) if(arr1[i]!=1) break;
    s1=i;
    for(i=n/2-1;i>=0;i--) if(arr2[i]!=1) break;
    s2=n/2-1-i;
    if(s1+s2>=n/2)
    {
        if(cnt){printf("NOT UNIQUE"); return 0;}
        else{ dap=n/2; cnt++;}
    }
    if(cnt)
    {
        for(i=0;i<=n/2;i++)
        {
            if(i!=dap) printf("%c",a[i]);
        }
    }
    else printf("NOT POSSIBLE");
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 18664 KB Output is correct
2 Correct 0 ms 18664 KB Output is correct
3 Correct 0 ms 18664 KB Output is correct
4 Correct 0 ms 18664 KB Output is correct
5 Correct 0 ms 18664 KB Output is correct
6 Correct 0 ms 18664 KB Output is correct
7 Correct 0 ms 18664 KB Output is correct
8 Correct 0 ms 18664 KB Output is correct
9 Correct 0 ms 18664 KB Output is correct
10 Correct 0 ms 18664 KB Output is correct
11 Correct 0 ms 18664 KB Output is correct
12 Correct 0 ms 18664 KB Output is correct
13 Correct 0 ms 18664 KB Output is correct
14 Correct 0 ms 18664 KB Output is correct
15 Correct 0 ms 18664 KB Output is correct
16 Correct 0 ms 18664 KB Output is correct
17 Correct 0 ms 18664 KB Output is correct
18 Correct 0 ms 18664 KB Output is correct
19 Correct 0 ms 18664 KB Output is correct
20 Correct 0 ms 18664 KB Output is correct
21 Correct 0 ms 18664 KB Output is correct
22 Correct 0 ms 18664 KB Output is correct
23 Correct 0 ms 18664 KB Output is correct
24 Correct 0 ms 18664 KB Output is correct
25 Correct 0 ms 18664 KB Output is correct
26 Correct 0 ms 18664 KB Output is correct
27 Correct 0 ms 18664 KB Output is correct
28 Correct 0 ms 18664 KB Output is correct
29 Correct 0 ms 18664 KB Output is correct
30 Correct 0 ms 18664 KB Output is correct
31 Correct 0 ms 18664 KB Output is correct
32 Correct 0 ms 18664 KB Output is correct
33 Correct 0 ms 18664 KB Output is correct
34 Correct 0 ms 18664 KB Output is correct
35 Correct 0 ms 18664 KB Output is correct
36 Correct 0 ms 18664 KB Output is correct
37 Correct 0 ms 18664 KB Output is correct
38 Correct 0 ms 18664 KB Output is correct
39 Correct 0 ms 18664 KB Output is correct
40 Correct 0 ms 18664 KB Output is correct
41 Correct 0 ms 18664 KB Output is correct
42 Correct 0 ms 18664 KB Output is correct
43 Correct 0 ms 18664 KB Output is correct
44 Correct 0 ms 18664 KB Output is correct
45 Correct 0 ms 18664 KB Output is correct
46 Correct 0 ms 18664 KB Output is correct
47 Correct 0 ms 18664 KB Output is correct
48 Correct 0 ms 18664 KB Output is correct
49 Correct 0 ms 18664 KB Output is correct
50 Correct 0 ms 18664 KB Output is correct
51 Correct 0 ms 18664 KB Output is correct
52 Correct 0 ms 18664 KB Output is correct
53 Correct 0 ms 18664 KB Output is correct
54 Correct 0 ms 18664 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 18664 KB Output is correct
2 Correct 24 ms 18664 KB Output is correct
3 Correct 24 ms 18664 KB Output is correct
4 Correct 16 ms 18664 KB Output is correct
5 Correct 20 ms 18664 KB Output is correct
6 Correct 8 ms 18664 KB Output is correct
7 Correct 32 ms 18664 KB Output is correct
8 Correct 8 ms 18664 KB Output is correct
9 Correct 20 ms 18664 KB Output is correct
10 Correct 8 ms 18664 KB Output is correct
11 Correct 4 ms 18664 KB Output is correct
12 Correct 0 ms 18664 KB Output is correct
13 Correct 0 ms 18664 KB Output is correct
14 Correct 0 ms 18664 KB Output is correct
15 Correct 0 ms 18664 KB Output is correct
16 Correct 0 ms 18664 KB Output is correct
17 Correct 0 ms 18664 KB Output is correct
18 Correct 0 ms 18664 KB Output is correct
19 Correct 0 ms 18664 KB Output is correct
20 Correct 0 ms 18664 KB Output is correct
21 Correct 0 ms 18664 KB Output is correct
22 Correct 0 ms 18664 KB Output is correct
23 Correct 0 ms 18664 KB Output is correct
24 Correct 0 ms 18664 KB Output is correct
25 Correct 0 ms 18664 KB Output is correct
26 Correct 0 ms 18664 KB Output is correct
27 Correct 0 ms 18664 KB Output is correct
28 Correct 0 ms 18664 KB Output is correct
29 Correct 0 ms 18664 KB Output is correct
30 Correct 0 ms 18664 KB Output is correct
31 Correct 0 ms 18664 KB Output is correct
32 Correct 0 ms 18664 KB Output is correct
33 Correct 0 ms 18664 KB Output is correct
34 Correct 0 ms 18664 KB Output is correct
35 Correct 0 ms 18664 KB Output is correct
36 Correct 0 ms 18664 KB Output is correct
37 Correct 0 ms 18664 KB Output is correct
38 Correct 0 ms 18664 KB Output is correct
39 Correct 0 ms 18664 KB Output is correct
40 Correct 0 ms 18664 KB Output is correct
41 Correct 0 ms 18664 KB Output is correct
42 Correct 0 ms 18664 KB Output is correct
43 Correct 0 ms 18664 KB Output is correct
44 Correct 0 ms 18664 KB Output is correct
45 Correct 0 ms 18664 KB Output is correct
46 Correct 0 ms 18664 KB Output is correct
47 Correct 0 ms 18664 KB Output is correct
48 Correct 0 ms 18664 KB Output is correct
49 Correct 0 ms 18664 KB Output is correct
50 Correct 0 ms 18664 KB Output is correct
51 Correct 0 ms 18664 KB Output is correct
52 Correct 0 ms 18664 KB Output is correct
53 Correct 0 ms 18664 KB Output is correct
54 Correct 0 ms 18664 KB Output is correct