Submission #162752

#TimeUsernameProblemLanguageResultExecution timeMemory
162752MinnakhmetovCombo (IOI18_combo)C++14
100 / 100
60 ms464 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; #define all(aaa) aaa.begin(), aaa.end() void guess_one_letter(string &s, string t) { int l = -1, r = t.size() - 1; while (r - l > 1) { int p = (l + r) >> 1; string g; for (int i = 0; i <= p; i++) { g += s + string(1, t[i]); } if (press(g) >= s.size() + 1) r = p; else l = p; } s.push_back(t[r]); } string guess_sequence(int n) { string s, t = "AXYB"; guess_one_letter(s, t); t.erase(find(all(t), s[0])); for (int i = 2; i < n; i++) { string p = s + string(1, t[0]) + s + string(1, t[1]) + string(1, t[0]) + s + string(1, t[1]) + string(1, t[1]) + s + string(1, t[1]) + string(1, t[2]); int coins = press(p); if (coins == i) s.push_back(t[0]); else if (coins == i + 1) s.push_back(t[1]); else s.push_back(t[2]); } if (n > 1) guess_one_letter(s, t); return s; }

Compilation message (stderr)

combo.cpp: In function 'void guess_one_letter(std::string&, std::string)':
combo.cpp:17:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |         if (press(g) >= s.size() + 1)
      |             ~~~~~~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...