Submission #684744

#TimeUsernameProblemLanguageResultExecution timeMemory
684744NeltCombo (IOI18_combo)C++17
30 / 100
42 ms564 KiB
#include "combo.h"
#include <bits/stdc++.h>


/* DEFINES */
#define F first
#define S second
#define ll long long
#define ull unsigned long long
#define ld long double
#define npos ULLONG_MAX
#define INF LLONG_MAX
#define vv(a) vector<a>
#define pp(a, b) pair<a, b>
#define pq(a) priority_queue<a>
#define qq(a) queue<a>
#define ss(a) set<a>
#define mm(a, b) map<a, b>
#define ump(a, b) unordered_map<a, b>
#define sync                    \
  ios_base::sync_with_stdio(0); \
  cin.tie(0);                   \
  cout.tie(0);
#define elif else if
#define endl "\n"
#define allc(a) begin(a), end(a)
#define all(a) a, a + sizeof(a) / sizeof(a[0])
#define pb push_back
#define logi(a) __lg(a)
#define sqrt(a) sqrtl(a)
#define mpr make_pair
#define ins insert
using namespace std;
using namespace __cxx11;
typedef char chr;
typedef basic_string<chr> str;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());


str guess_sequence(int n)
{
    str p;
    str dx = "AXYB";
    if (press("AB"))
    {
        if (press("A"))
          dx = "XYB", p += 'A';
        else
          dx = "AXY", p += 'B';
    }
    else
    {
      if (press("X"))
        dx = "AYB", p += 'X';
      else
        dx = "AXB", p += 'Y';
    }
    for (ll i = 1; i < n; i++)
    {
        for (ll k = 0; k < 2; k++)
        {
            p += dx[k];
            if (press(p) == i + 1)
              break;
            p.pop_back();
        }
        if (p.size() == i)
          p += dx[2];
    }
    return p;
}

Compilation message (stderr)

combo.cpp: In function 'str guess_sequence(int)':
combo.cpp:67:22: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   67 |         if (p.size() == i)
      |             ~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...