Submission #1137714

#TimeUsernameProblemLanguageResultExecution timeMemory
1137714ghammazhassanCOVID tests (CEOI24_covid)C++20
29.93 / 100
530 ms408 KiB
// #include <bits/stdc++.h> #include <iostream> #include <cmath> #include <algorithm> #include <map> #include <vector> #include <iomanip> #include <string> #include <queue> #include <set> using namespace std; #define int long long #define endl "\n"; const int N=2e5+5; const int M=1e9+7; int n; double p; void solve2() { string s,r; for (int i=0;i<n;i++){ s+='0'; r+='0'; } for (int i=0;i<n;i++){ s[i]='1'; cout << "Q " << s << endl; char u; cin >> u; if (u=='P'){ r[i]='1'; } s[i]='0'; } cout << "A " << r << endl; char e; cin >> e; if (e=='C'){ return; } else{ exit(0); } } void solve() { string s,w; for (int i=0;i<n;i++){ s+='0'; w+='2'; } int co=max((1/p)/3.7,(double)1); int l=0,r=min(co,n-1); while (l<n){ for (int i=l;i<=r;i++){ s[i]='1'; } cout << "Q "+s << endl; char k; cin >> k; int y1=l,y2=r; if (k=='N'){ for (int i=l;i<=r;i++){ w[i]='0'; } l=r+1; r=min(l+co,n-1); } else{ if (l!=r){ r=(l+r)/2; if (l==r){ s[l+1]='0'; cout << "Q "+s << endl; char k; cin >> k; if (k=='N'){ w[l]='0'; w[l+1]='1'; l=r+2; r=min(l+co,n-1); } else{ w[l]='1'; l=r+1; r=min(l+co,n-1); } } } else{ w[l]='1'; l=r+1; r=min(l+co,n-1); } } for (int i=y1;i<=y2;i++){ s[i]='0'; } } cout << "A " << w << endl; char e; cin >> e; if (e=='C'){ return; } else{ exit(0); } } signed main() { cout << fixed<<setprecision(9); int t=1; cin >> n >> p >> t; if (t==1){ solve2(); return 0; } for (int _=1;_<=t;_++){ solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...