Submission #392758

#TimeUsernameProblemLanguageResultExecution timeMemory
392758AlmaThree Friends (BOI14_friends)C++14
0 / 100
8 ms2408 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int N; cin >> N; string S; cin >> S; if (N % 2 == 0) { cout << "NOT POSSIBLE\n"; return 0; } int extraChar = 0, numSubstr = 0; char left = ' ', right = ' '; for (int i = 1; i <= N/2; i++) left ^= S[i]; for (int i = N/2 + 1; i < N; i++) right ^= S[i]; // first char if (left == right) numSubstr++; // left characters for (int currChar = 1; currChar <= N/2; currChar++) { left ^= S[currChar]; left ^= S[currChar - 1]; if (left == right) { numSubstr++; extraChar = currChar; } } // right characters for (int currChar = N/2 + 1; currChar < N; currChar++) { right ^= S[currChar]; right ^= S[currChar - 1]; if (left == right) { numSubstr++; extraChar = currChar; } } if (numSubstr == 0) { cout << "NOT POSSIBLE\n"; } else if (numSubstr > 1) { cout << "NOT UNIQUE\n"; } else { int i = 0; while (i < N/2) { if (i != extraChar) cout << S[i]; i++; } if (extraChar <= N/2) cout << S[i]; cout << '\n'; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...