This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define fi first
#define se second
#define ll long long
using namespace std;
vector < int > pfunc(string str){
vector < int > p(str.size());
int j=0;
for (int i=1; i<str.size(); i++) {
while (j>0 && str[j]!=str[i])
j=p[j-1];
if (str[j]==str[i])
j++;
p[i]=j;
}
return p;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int n;
string s;
cin >> n >> s;
if (n%2==0) {
cout << "NOT POSSIBLE";
return 0;
}
bool cnt=0;
string ss;
string ans;
for (int i=n-1; i>=0; i--)
ss+=s[i];
if (ss==s) {
string st=s;
st.erase(0,1);
string st1,st2;
for (int i=0; i<n/2; i++)
st1+=st[i];
for (int i=n/2; i<n-1; i++)
st2+=st[i];
if (st1==st2) {
ans=st1;
cnt++;
}
string st3,st4;
for (int i=0; i<n/2; i++)
st3+=s[i];
for (int i=n/2; i<n-1; i++)
st4+=s[i];
if (st3==st4) {
if (ans!=st3) {
cout << "NOT UNIQUE";
return 0;
}
else {
cout << ans;
return 0;
}
}
}
vector < int > p=pfunc(s);
int mx=0;
for (int i=0; i<p.size(); i++)
mx=max(mx,p[i]);
string st=s;
st.erase(0+mx,1);
string st1,st2;
for (int i=0; i<n/2; i++)
st1+=st[i];
for (int i=n/2; i<n-1; i++)
st2+=st[i];
if (st1==st2) {
cout << st1;
return 0;
}
st=s;
st.erase(n-1-mx,1);
string st3,st4;
for (int i=0; i<n/2; i++)
st3+=st[i];
for (int i=n/2; i<n-1; i++)
st4+=st[i];
if (st3==st4) {
cout << st3;
return 0;
}
cout << "NOT POSSIBLE";
return 0;
}
Compilation message (stderr)
friends.cpp: In function 'std::vector<int> pfunc(std::__cxx11::string)':
friends.cpp:11:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=1; i<str.size(); i++) {
^
friends.cpp: In function 'int main()':
friends.cpp:73:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i=0; i<p.size(); i++)
^
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |