Submission #897368

#TimeUsernameProblemLanguageResultExecution timeMemory
897368honanhphongCombo (IOI18_combo)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#define pb push_back
#define fi first
#define se second
#define faster ios_base::sync_with_stdio(0); cin.tie(0);
using namespace std;
using lli = long long;
using ld = long double;
using pii = pair <int, int>;
mt19937_64 Rand(chrono::steady_clock::now().time_since_epoch().count());
const int maxn = 1e6 + 1000;
const int mod = 1e9 + 7;
int press(string p);



string guess_sequence(int N)
{
    string s = "";
    char cs[maxn];
    if(press("A")) s = "A";
    else if(press("B")) s = "B";
    else if(press("X")) s = "X";
    else s = "Y";
    if (s == "A")
    {
        cs[0] = 'B'; cs[1] = 'X'; cs[2] = 'Y';
    } else if (s == "B")
    {
        cs[0] = 'A'; cs[1] = 'X'; cs[2] = 'Y';
    } else if (s == "X")
    {
        cs[0] = 'A'; cs[1] = 'B'; cs[2] = 'Y';
    } else
    {
        cs[0] = 'A'; cs[1] = 'B'; cs[2] = 'X';
    }
    vector<char> ch = {'A','B','X','Y'};
    ch.erase(lower_bound(ch.begin(),ch.end(),start));
    for (lli i = 0; i < N - 2; i ++)
    {
        lli guess = press(s + ch[0] + ch[0] + s + ch[0] + ch[1] + s + ch[0] + ch[2] + s + ch[1]);
        if (guess == s.size() + 2) s += ch[0];
        else if (guess == s.size() + 1) s += ch[1];
        else s += ch[2];
    }
    if (press(s + ch[0]) == N) return s + ch[0];
    else if (press(s + ch[1]) == N) return s + ch[1];
    else if (press(s + ch[2]) == N) return s + ch[2];
    return s;
}


Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:39:46: error: 'start' was not declared in this scope
   39 |     ch.erase(lower_bound(ch.begin(),ch.end(),start));
      |                                              ^~~~~
combo.cpp:43:19: warning: comparison of integer expressions of different signedness: 'lli' {aka 'long long int'} and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |         if (guess == s.size() + 2) s += ch[0];
      |             ~~~~~~^~~~~~~~~~~~~~~
combo.cpp:44:24: warning: comparison of integer expressions of different signedness: 'lli' {aka 'long long int'} and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   44 |         else if (guess == s.size() + 1) s += ch[1];
      |                  ~~~~~~^~~~~~~~~~~~~~~