| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 1100384 | akzytr | Combo (IOI18_combo) | C++17 | 1 ms | 376 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
template <typename T> using ve = vector<T>;
template <typename T, int sz> using ar = array<T, sz>;
typedef long long ll;
#define pb push_back
#define fi first
#define se second
#define endl '\n'
int press(string p);
string guess_sequence(int N) {
	string s = "";
	ve<char> lst;
    int sc=press("AB");
    if(sc >= 1){
        // In "AB
        //
        sc=press("A");
        if(sc==1){
            s = "A";
        }
        else{
            s ="B";
        }
    }
    else{
        sc=press("X");
        if(sc==1){
            s="X";
        }
        else{
            s="Y";
        }
    }
	for(int i = 1; i < N - 1; i++) {
		ve<char> lst;
		for(char j : {'A', 'B', 'X', 'Y'}) {
			if(j == s[0]) {
				continue;
			}
			lst.pb(j);
		}
		string q = "";
		q += s + lst[0];
		q += s + lst[1] + lst[0];
		q += s + lst[1] + lst[1];
		q += s + lst[1] + lst[2];
		int score = press(q);
		if(score == s.size() + 1) {
			s += lst[0];
		} else if(score == s.size()) {
			s += lst[2];
		} else if(score == s.size() + 2) {
			s += lst[1];
		}
	}
	lst.clear();
	
    sc=press(s+"A"+s+"B");
    if(sc==N){
        sc=press(s+"A");
        if(sc==N){
            s += "A";
        }
        else{
            s+="B";
        }
    }
    else{
        sc=press(s+"X");
        if(sc==N){
            s+="X";
        }
        else{
            s+="Y";
        }
    }
	return s;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
