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 "combo.h"
#include <bits/stdc++.h>
#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
using namespace std;
using ll = int64_t;
const ll mod = 998244353;
const ll INF = 1LL<<60;
#define fi first
#define se second
#define rep(i,n) for(ll i=0;i<n;i++)
#define all(x) x.begin(),x.end()
#define faster ios::sync_with_stdio(false);cin.tie(nullptr)
string guess_sequence(int N){
string s="";
if(N<=2){
rep(i,N){
if(press(s+'A'+s+'B')>=i+1){
if(press(s+'A')>=i+1){
s+='A';
continue;
}
else s+='B';
continue;
}
else if(press(s+'X')>=i+1){
s+='X';
continue;
}
else s+='Y';
}
return s;
}
rep(i,1){
if(press(s+'A'+s+'B')>=i+1){
if(press(s+'A')>=i+1){
s+='A';
continue;
}
else s+='B';
continue;
}
else if(press(s+'X')>=i+1){
s+='X';
continue;
}
else s+='Y';
}
vector<char> v;
char c[4];
c[0]='A';
c[1]='B';
c[2]='X';
c[3]='Y';
rep(i,4){
if(s[0]!=c[i]) v.push_back(c[i]);
}
for(ll i=1;i<N-2;i++){
s+=v[press(s+v[1]+s+v[2]+v[0]+s+v[2]+v[1]+s+v[2]+v[2])-i];
}
for(ll i=N-2;i<N;i++){
if(press(s+'A'+s+'B')>=i+1){
if(press(s+'A')>=i+1){
s+='A';
continue;
}
else s+='B';
continue;
}
else if(press(s+'X')>=i+1){
s+='X';
continue;
}
else s+='Y';
}
return s;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |