Submission #1213659

#TimeUsernameProblemLanguageResultExecution timeMemory
1213659i_love_springThree Friends (BOI14_friends)C++20
0 / 100
432 ms129440 KiB
#include<bits/stdc++.h>
using namespace std;
#define ar array
void solve(){
    int n;cin>>n;string s;cin>>s;
    if(n%2==0){cout<<"NOT POSSIBLE";return;}
    set<int>ans;set<ar<int,2>>bugs;
    for(int i=0;i<n/2;i++)if(s[i]!=s[i+n/2+1])bugs.insert({i,i+n/2+1});
    auto bl=bugs;auto br=bugs;
    for(int i=1;i<=n/2;i++){
        int l=n/2-i,r=n/2+i;
        if(s[l]!=s[l+n/2+1])bl.erase({l,l+n/2+1});
        if(s[n/2 - i +1]!=s[l+n/2+1])bl.insert({n/2 - i +1,l+n/2+1});
        if(bl.empty())ans.insert(l);
        if(s[r]!=s[r-n/2-1])br.erase({r-n/2-1,r});
        if(s[n/2 + i -1]!=s[r-n/2-1])br.insert({r-n/2-1,n/2 + i -1});
        if(br.empty())ans.insert(r);
    }
    if(ans.size()>1)cout<<"NOT UNIQUE";
    else if(ans.empty())cout<<"NOT POSSIBLE";
    else{
        int skip=*ans.begin();
        string res;
        for(int i=0;i<n;i++)if(i!=skip)res+=s[i];
        cout<<res.substr(0,res.size()/2);
    }
}
int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    solve();
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...