Submission #824785

#TimeUsernameProblemLanguageResultExecution timeMemory
824785QwertyPiThree Friends (BOI14_friends)C++14
100 / 100
42 ms6432 KiB
#include <bits/stdc++.h> #define int long long using namespace std; const int MAXN = 2e6 + 11; bool check(const string& s, const string& t){ int si = 0; for(auto c : t){ while(si < s.size() && s[si] != c){ si++; } if(si >= s.size() || s[si] != c) return false; si++; } for(auto c : t){ while(si < s.size() && s[si] != c){ si++; } if(si >= s.size() || s[si] != c) return false; si++; } return true; } int32_t main() { int n; cin >> n; string s; cin >> s; if(n % 2 == 0){ cout << "NOT POSSIBLE" << endl; return 0; } string t1 = s.substr(0, n / 2); string t2 = s.substr(n / 2 + 1); bool ok1 = check(s, t1); bool ok2 = check(s, t2); if(ok1 && ok2 && t1 != t2){ cout << "NOT UNIQUE" << endl; }else if(ok1){ cout << t1 << endl; }else if(ok2){ cout << t2 << endl; }else{ cout << "NOT POSSIBLE" << endl; } }

Compilation message (stderr)

friends.cpp: In function 'bool check(const string&, const string&)':
friends.cpp:10:12: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |   while(si < s.size() && s[si] != c){
      |         ~~~^~~~~~~~~~
friends.cpp:13:9: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |   if(si >= s.size() || s[si] != c) return false;
      |      ~~~^~~~~~~~~~~
friends.cpp:17:12: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |   while(si < s.size() && s[si] != c){
      |         ~~~^~~~~~~~~~
friends.cpp:20:9: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |   if(si >= s.size() || s[si] != c) return false;
      |      ~~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...