Submission #228049

#TimeUsernameProblemLanguageResultExecution timeMemory
228049TehillahCombo (IOI18_combo)C++14
30 / 100
64 ms564 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; using ll = long long; #define pb push_back #define mkp make_pair #define ff first #define ss second #define all(a) a.begin(), a.end() #define sz(a) (int)(a.size()) #define clr(a, b) memset(a, b, sizeof(a)) #define REP(i, a, b) for(int i=(int)(a); i<(int)(b); ++i) #define REPD(i, a, b) for(int i=(int)(a)-1; i>=(int)(b); --i) #define FOR(it,c) for ( __typeof((c).begin()) it=(c).begin(); it!=(c).end(); it++ ) template<typename T> inline bool chkmin(T &a, const T &b) { return a > b ? a = b, 1 : 0; } template<typename T> inline bool chkmax(T &a, const T &b) { return a < b ? a = b, 1 : 0; } mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); string guess_sequence(int N) { string res = ""; int ret = press("AB"); if(ret >= 1) { ret = press("A"); res += (ret == 1) ? 'A' : 'B'; } else { ret = press("X"); res += (ret == 1) ? 'X' : 'Y'; } REP(i, 1, N) { ret = press(res + "A" + res + "B"); if(ret >= i+1) { ret = press(res + "A"); if(ret == i+1) res += 'A'; else res += 'B'; } else { ret = press(res + "X"); if(ret == i+1) res += 'X'; else res += 'Y'; } } return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...