# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1114885 | 2024-11-19T17:46:24 Z | PagodePaiva | COVID tests (CEOI24_covid) | C++17 | 6044 ms | 739204 KB |
#include<bits/stdc++.h> using namespace std; vector <int> idx; int n, t; bool query(string &s){ cout << "Q " << s << '\n'; cout << flush; char c; cin >> c; if(c == 'P') return true; return false; } string solve(string &s){ string s1, s2; int con = 0; for(int i = 0;i < s.size();i++){ s1.push_back('0'); s2.push_back('0'); if(s[i] == '1') con++; } if(con == 1) return s; int d = 0, p = con/2; for(int i = 0;i < s.size();i++){ if(s[idx[i]] == '1'){ if(d < p){ s1[idx[i]] = '1'; } else{ s2[idx[i]] = '1'; } d++; } } string ans; string aa = s; for(int i = 0;i < n;i++) ans.push_back('0'); s = s1; if(query(s)){ string res = solve(s); for(int i = 0;i < n;i++){ if(res[i] == '1') ans[i] = '1'; } } s = s2; if(query(s)){ string res = solve(s); for(int i = 0;i < n;i++){ if(res[i] == '1') ans[i] = '1'; } } s = aa; return ans; } int main(){ ios::sync_with_stdio(false); cin.tie(0); srand(time(0)); double p; cin >> n >> p >> t; int tam = 1; while(t--){ string s; for(int i = 0;i < n;i++){ s.push_back('1'); } for(int i = 0;i < n;i++){ idx.push_back(i); } random_shuffle(idx.begin(), idx.end()); if(!query(s)){ cout << "A "; for(int i = 0;i < n;i++){ cout << 0; } cout << '\n'; cout << flush; char c; cin >> c; continue; } string res = solve(s); idx.clear(); cout << "A " << res << '\n'; cout << flush; char c; cin >> c; if(c == 'W') exit(0); } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 336 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 47 ms | 336 KB | Output is correct |
2 | Correct | 45 ms | 336 KB | Output is correct |
3 | Correct | 50 ms | 336 KB | Output is correct |
4 | Correct | 54 ms | 336 KB | Output is correct |
5 | Correct | 53 ms | 336 KB | Output is correct |
6 | Correct | 52 ms | 336 KB | Output is correct |
7 | Correct | 43 ms | 336 KB | Output is correct |
8 | Correct | 32 ms | 336 KB | Output is correct |
9 | Correct | 45 ms | 336 KB | Output is correct |
10 | Correct | 20 ms | 336 KB | Output is correct |
11 | Correct | 35 ms | 336 KB | Output is correct |
12 | Correct | 39 ms | 336 KB | Output is correct |
13 | Correct | 36 ms | 336 KB | Output is correct |
14 | Correct | 37 ms | 336 KB | Output is correct |
15 | Correct | 44 ms | 336 KB | Output is correct |
16 | Correct | 55 ms | 336 KB | Output is correct |
17 | Correct | 1 ms | 336 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 6044 ms | 739204 KB | Time limit exceeded (wall clock) |
2 | Halted | 0 ms | 0 KB | - |