제출 #1137571

#제출 시각아이디문제언어결과실행 시간메모리
1137571Jawad_Akbar_JJCOVID tests (CEOI24_covid)C++20
28.93 / 100
913 ms408 KiB
#include <iostream> #include <vector> using namespace std; long double p; char c; bool isPositive(int n, int l, int r){ string s(n, '0'); cout<<"Q "; for (int j=1;j<=n;j++) if (j >= l and j <= r) s[j-1] = '1'; cout<<s<<endl; cin>>c; return (c == 'P'); } void solve(int n){ vector<int> vec(n + 1, 0); for (int i=1, lp = n + 1;i<=n;){ if (p >= 0.158765){ if (isPositive(n, i, i)) vec[i] = 1; i++; continue; } if (lp == i){ vec[i] = 1; i++; lp = n + 1; continue; } int b = 31 - __builtin_clz(lp - i); if (isPositive(n, i, i + (1<<b) - 1)) lp = i + (1<<b) - 1; else i += (1<<b); } cout<<"A "; for (int i=1;i<=n;i++) cout<<vec[i]; cout<<endl; cin>>c; if (c == 'W') exit(0); } int main(){ int n, t; cin>>n>>p>>t; while (t--) solve(n); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...