#include<iostream>
using namespace std;
const int MAX_N=2000001;
int n;
char str[MAX_N+1];
int query(int mid,int set){
int i,f1=0,f2=0;
for(i=0; i<n/2; i++){
if(str[i+f1]==str[i+mid+f2]) continue;
if(f1|f2) break;
set?f2++:f1++;
}
return i==n/2;
}
int main(){
cin >> n >> str;
int r1=query(n/2,1),r2=query(n/2+1,0);
if(!r1&!r2 || n%2==0) cout << "NOT POSSIBLE";
else if(r1&r2) cout<<"NOT UNIQUE";
else if(r1)
for(int i=0; i<n/2; i++) cout << str[i];
else
for(int i=n/2+1; i<n; i++) cout << str[i];
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
3672 KB |
Output is correct |
2 |
Correct |
0 ms |
3672 KB |
Output is correct |
3 |
Correct |
0 ms |
3672 KB |
Output is correct |
4 |
Incorrect |
0 ms |
3672 KB |
Output isn't correct |
5 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
124 ms |
3672 KB |
Output is correct |
2 |
Correct |
96 ms |
3672 KB |
Output is correct |
3 |
Correct |
0 ms |
3672 KB |
Output is correct |
4 |
Correct |
87 ms |
3672 KB |
Output is correct |
5 |
Correct |
117 ms |
3672 KB |
Output is correct |
6 |
Correct |
98 ms |
3672 KB |
Output is correct |
7 |
Incorrect |
98 ms |
3672 KB |
Output isn't correct |
8 |
Halted |
0 ms |
0 KB |
- |