Submission #1111794

#TimeUsernameProblemLanguageResultExecution timeMemory
1111794ThegeekKnight16Three Friends (BOI14_friends)C++17
0 / 100
30 ms3572 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int tam; cin >> tam; if (tam % 2 == 0) {cout << "NOT POSSIBLE" << '\n'; return 0;} int N = (tam-1)/2; string S; cin >> S; int resp = -1; vector<bool> sufEqual(N+2, 1); for (int i = N; i >= 1; i--) sufEqual[i] = (sufEqual[i+1] && S[i] == S[N+i]); bool pref = 1; for (int i = 0; i < N; i++) { if (pref && sufEqual[i+1] && resp != -1) {cout << "NOT UNIQUE" << '\n'; return 0;} else if (pref && sufEqual[i+1]) resp = i; pref = pref && (S[i] == S[i+N+1]); } if (pref && resp != -1) {cout << "NOT UNIQUE" << '\n'; return 0;} if (pref) resp = N; for (int i = N; i >= 1; i--) sufEqual[i] = (sufEqual[i+1] && S[N+i] == S[i-1]); pref = 1; for (int i = 1; i <= N; i++) { pref = (pref && (S[i-1] == S[N+i-1])); if (pref && sufEqual[i+1] && resp != -1) {cout << "NOT UNIQUE" << '\n'; return 0;} else if (pref && sufEqual[i+1]) resp = N+i; } if (pref == -1) {cout << "NOT POSSIBLE" << '\n'; return 0;} int cnt = 0; for (int i = 0; cnt < N; i++) if (i != resp) {cout << S[i]; cnt++;} cout << '\n'; }

Compilation message (stderr)

friends.cpp: In function 'int main()':
friends.cpp:35:14: warning: comparison of constant '-1' with boolean expression is always false [-Wbool-compare]
   35 |     if (pref == -1) {cout << "NOT POSSIBLE" << '\n'; return 0;}
      |         ~~~~~^~~~~
friends.cpp:38:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   38 |     for (int i = 0; cnt < N; i++) if (i != resp) {cout << S[i]; cnt++;} cout << '\n';
      |     ^~~
friends.cpp:38:73: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   38 |     for (int i = 0; cnt < N; i++) if (i != resp) {cout << S[i]; cnt++;} cout << '\n';
      |                                                                         ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...