제출 #930689

#제출 시각아이디문제언어결과실행 시간메모리
930689LCJLY세 명의 친구들 (BOI14_friends)C++14
100 / 100
14 ms6400 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define show(x,y) cout << y << " " << #x << endl; #define show2(x,y,i,j) cout << y << " " << #x << " " << j << " " << #i << endl; #define show3(x,y,i,j,p,q) cout << y << " " << #x << " " << j << " " << #i << " " << q << " " << #p << endl; #define show4(x,y) for(auto it:y) cout << it << " "; cout << #x << endl; typedef pair<int,int>pii; mt19937 rng(chrono::system_clock::now().time_since_epoch().count()); typedef pair<int,char>pi2; void solve(){ int n; cin >> n; string s; cin >> s; if(n%2==0){ cout << "NOT POSSIBLE\n"; return; } //front string cur=""; for(int x=0;x<n/2;x++){ cur.push_back(s[x]); } //show(cur,cur); int ptr=0; for(int x=n/2;x<n;x++){ if(ptr<n/2&&s[x]==cur[ptr]) ptr++; } int check=0; if(ptr==n/2){ check=1; } string cur2=""; for(int x=n/2+1;x<n;x++){ cur2.push_back(s[x]); } ptr=0; for(int x=0;x<n/2+1;x++){ if(ptr<n/2&&s[x]==cur2[ptr]) ptr++; } if(ptr==n/2){ check+=2; } if(check==1){ cout << cur; } else if(check==2){ cout << cur2; } else if(check==3&&cur==cur2){ cout << cur; } else if(check==3){ cout << "NOT UNIQUE\n"; } else cout << "NOT POSSIBLE\n"; } int32_t main(){ ios::sync_with_stdio(0); cin.tie(0); int t=1; //cin >> t; while(t--){ solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...