제출 #203286

#제출 시각아이디문제언어결과실행 시간메모리
203286blacktulip세 명의 친구들 (BOI14_friends)C++17
35 / 100
1092 ms7064 KiB
#include <bits/stdc++.h> using namespace std; #define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL) int n,m,b[200005],a[200005],k,flag,t,mpp[50],bir,iki,uc,cev; char c; string s,ss,yaz,s1,s2; vector<int> v; int main(void){ fio(); cin>>n>>s; if(n%2==0){cout<<"NOT POSSIBLE\n";return 0;} for(int i=0;i<n;i++){ mpp[s[i]-'A']++; } for(int i=0;i<=25;i++){ if(mpp[i]%2){ cev++; c=i+'A'; } } if(cev!=1){cout<<"NOT POSSIBLE\n";return 0;} for(int i=0;i<n;i++){ if(s[i]==c)v.push_back(i); } cev=0; for(int i=0;i<n/2;i++){ s1+=s[i]; } for(int i=n/2;i<n;i++)s2+=s[i]; string last=s1; int son=(int)v.size()-1; while(v[son]>=n/2){ if(flag==0){ string s3=s2; s3.erase(s3.begin()+v[son]-n/2); if(s3==s1){ cev++; flag=1; } } son--; } s1.clear(); s2.clear(); for(int i=0;i<=n/2;i++){ s1+=s[i]; } for(int i=n/2+1;i<n;i++){ s2+=s[i]; } if(s2!=last){ while(son>=0){ string s3=s1; s3.erase(s3.begin()+v[son]); //~ cout<<s3<<endl; if(s3==s2){ cev++; break; } son--; } } if(cev==2){ cout<<"NOT UNIQUE\n"; return 0; } if(cev==0){ cout<<"NOT POSSIBLE\n"; return 0; } if(flag==1){ for(int i=0;i<n/2;i++)cout<<s[i]; return 0; } for(int i=n/2+1;i<n;i++)cout<<s[i]; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...