Submission #707742

#TimeUsernameProblemLanguageResultExecution timeMemory
707742zeta7532Combo (IOI18_combo)C++14
100 / 100
34 ms592 KiB
#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-1;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-1;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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...