Submission #930637

#TimeUsernameProblemLanguageResultExecution timeMemory
930637zyq181Three Friends (BOI14_friends)C++17
100 / 100
39 ms4764 KiB
#include <bits/stdc++.h> using namespace std; int N; char c; char ok[2000010]; int pt; bool ans1, ans2; int main(){ ios::sync_with_stdio(0); cin.tie(0); cin >> N; if(!(N%2)){ cout << "NOT POSSIBLE"; return 0; } int k = N/2; for(int a=1; a<=N; a++){ cin >> ok[a]; } ans1 = ans2 = true; pt = k+1; for(int a=1; a<=k; a++){ while(pt != N+1 && ok[pt] != ok[a]) { pt++; } if(pt == N+1){ ans1 = false; break; } pt++; } pt = 1; for(int a=k+2; a<=N; a++){ while(pt != k+2 && ok[pt] != ok[a]) { pt++; } if(pt == k+2){ ans2 = false; break; } pt++; } if(ans1 && ans2){ for(int a=1; a<=k; a++){ if(ok[a] != ok[a+k+1]){ cout << "NOT UNIQUE"; return 0; } } for(int a=1; a<=k; a++){ cout << ok[a]; } } else if(ans1){ for(int a=1; a<=k; a++){ cout << ok[a]; } } else if(ans2){ for(int a=k+2; a<=N; a++){ cout << ok[a]; } } else{ cout << "NOT POSSIBLE"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...