#include <bits/stdc++.h>
#include "combo.h"
using namespace std;
//signed main(){ // clock_t the_time = clock(); double t_;
// IO(""); int n, result = 0; cin >> n;
// vector<int > a(n), b(n), c(n);
// for(auto &to : a) cin >> to;
// for(auto &to : b) cin >> to;
// for (int i = 0; i < n; i++) c[i] = a[i] - b[i];
// sort(c.begin(), c.end());
// auto UPPB = [&](long long x) -> int {
// int l = 0, r = n;
// while(l < r){
// int m = (l + r) / 2;
// if(c[m] <= x) l = m + 1;
// else r = m;
// } return l;
// }; for(int i = 0; i < n; i++){
// result += n - UPPB(-c[i]);
// if(UPPB(-c[i]) <= i) result--;
// } cout << result / 2;
// // t_ = double(clock() - the_time) / CLOCKS_PER_SEC; cout << fixed << setprecision(16)<< t_ << " sec.";
//}
string guess_sequence(int N) {
string s; vector<char> res_;
if(press("AB") > 0){
if(press("A") > 0) s = "A";
else s = "B";
} else {
if(press("X") > 0) s = "X";
else s = "Y";
} if(N == 1){ return s; }
for(char c : {'A', 'B', 'X', 'Y'}) {
if(c != s[0]) res_.emplace_back(c);
} for(int i = 1; i < N - 1; i++){
string str = s + res_[0] + s + res_[1] + res_[0] + s + res_[1] + res_[1] + s + res_[2];
int res = press(str);
if(res == i) s += res_[2];
else if(res == i + 1) s += res_[0];
else s += res_[1];
} if(press(s + res_[0]) == N) s += res_[0];
else if(press(s + res_[1]) == N) s += res_[1];
else s += res_[2];
return s;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |