# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
27461 | 2017-07-13T05:21:18 Z | TAMREF | Three Friends (BOI14_friends) | C++11 | 3 ms | 3988 KB |
#include <bits/stdc++.h> using namespace std; const int mx=2e6+10; char S[mx]; int N,h; void input(){ scanf("%d\n",&N); fgets(S,mx-4,stdin); S[N]=0; if(!(N&1)) exit(0&puts("NOT POSSIBLE")); h=(N-1)>>1; } void solve_small(){ char F[2500]={},G[2500]={}; for(int i=0;i<N;i++){ strncpy(F,S,i); strncpy(F+i,S+i+1,N-1-i); if(!strncmp(F,F+h,h)){ if(G[0] && strncmp(F,G,N-1)) exit(0&puts("NOT UNIQUE")); strncpy(G,F,N-1); } } if(!G[0]) exit(0&puts("NOT POSSIBLE")); for(int i=0;i<h;i++) putchar(G[i]); puts(""); } void solve(){ int s=0,e=N-1,xs=-1,xe=-1; for(int i=0;i<h;i++){ if(S[i]!=S[i+h]){ s=max(s,i); e=min(e,i+h); if(s>e) exit(0&puts("NOT POSSIBLE")); } if(S[i]!=S[i+h+1]){ if(xs==-1){ xs=i+1; xe=i+h; } else{ xs=min(xs,i+1); xe=max(xe,i+h); } } } } int main(){ input(); if(N<2000) solve_small(); else solve(); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 3988 KB | Output is correct |
2 | Correct | 0 ms | 3988 KB | Output is correct |
3 | Correct | 0 ms | 3988 KB | Output is correct |
4 | Correct | 0 ms | 3988 KB | Output is correct |
5 | Correct | 0 ms | 3988 KB | Output is correct |
6 | Correct | 0 ms | 3988 KB | Output is correct |
7 | Correct | 0 ms | 3988 KB | Output is correct |
8 | Correct | 0 ms | 3988 KB | Output is correct |
9 | Correct | 0 ms | 3988 KB | Output is correct |
10 | Correct | 0 ms | 3988 KB | Output is correct |
11 | Correct | 0 ms | 3988 KB | Output is correct |
12 | Correct | 0 ms | 3988 KB | Output is correct |
13 | Correct | 0 ms | 3988 KB | Output is correct |
14 | Correct | 0 ms | 3988 KB | Output is correct |
15 | Correct | 0 ms | 3988 KB | Output is correct |
16 | Correct | 0 ms | 3988 KB | Output is correct |
17 | Correct | 0 ms | 3988 KB | Output is correct |
18 | Correct | 0 ms | 3988 KB | Output is correct |
19 | Correct | 0 ms | 3988 KB | Output is correct |
20 | Correct | 0 ms | 3988 KB | Output is correct |
21 | Correct | 0 ms | 3988 KB | Output is correct |
22 | Correct | 0 ms | 3988 KB | Output is correct |
23 | Correct | 0 ms | 3988 KB | Output is correct |
24 | Correct | 0 ms | 3988 KB | Output is correct |
25 | Correct | 0 ms | 3988 KB | Output is correct |
26 | Correct | 0 ms | 3988 KB | Output is correct |
27 | Correct | 0 ms | 3988 KB | Output is correct |
28 | Correct | 0 ms | 3988 KB | Output is correct |
29 | Correct | 0 ms | 3988 KB | Output is correct |
30 | Correct | 0 ms | 3988 KB | Output is correct |
31 | Correct | 0 ms | 3988 KB | Output is correct |
32 | Correct | 0 ms | 3988 KB | Output is correct |
33 | Correct | 0 ms | 3988 KB | Output is correct |
34 | Correct | 0 ms | 3988 KB | Output is correct |
35 | Correct | 0 ms | 3988 KB | Output is correct |
36 | Correct | 0 ms | 3988 KB | Output is correct |
37 | Correct | 0 ms | 3988 KB | Output is correct |
38 | Correct | 0 ms | 3988 KB | Output is correct |
39 | Correct | 0 ms | 3988 KB | Output is correct |
40 | Correct | 0 ms | 3988 KB | Output is correct |
41 | Correct | 0 ms | 3988 KB | Output is correct |
42 | Correct | 0 ms | 3988 KB | Output is correct |
43 | Correct | 0 ms | 3988 KB | Output is correct |
44 | Incorrect | 0 ms | 3988 KB | Output isn't correct |
45 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 3 ms | 3988 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |