Submission #1033126

#TimeUsernameProblemLanguageResultExecution timeMemory
1033126goodspeed0208Colors (BOI20_colors)C++14
0 / 100
1 ms344 KiB
#include<bits/stdc++.h> using namespace std; signed main() { int n; cin >> n; set<int>st; int c; if (n == 2) { cout << "? 1" << endl; cin >> c; cout << "? 2" << endl; cin >> c; if (c == 1) cout << "= 1" << endl; else cout << "= 2" << endl; return 0; } else if (n == 3) { cout << "? 2" << endl; cin >> c; cout << "? 3" << endl; cin >> c; if (c == 1) cout << "= 1" << endl; else { cout << "? 1" << endl; cin >> c; if (c == 1) cout << "= 2" << endl; else cout << "= 3" << endl; } return 0; } int l = 3, r = n+2, t = 0, ans = n, end = 0; if (n <= 32) { l = 1, r = n, t = 1; cout << "? " << 1 << endl; cin >> c; while (ans > 1) { if (t) { r--; assert(st.find(r) == st.end()); cout << "? " << r << endl; } else { l++; assert(st.find(l) == st.end()); cout << "? " << l << endl; } t ^= 1; cin >> c; if (c == 1) ans = r - l; else break; } cout << "= " << ans << endl; return 0; } cout << "? " << l << "\n"; st.insert(l); cin >> c; while (r - l > 4) { if (t) { l += 4; assert(st.find(l) == st.end()); cout << "? " << l << endl; st.insert(l); } else { r -= 4; assert(st.find(r) == st.end()); cout << "? " << r << endl; st.insert(r); } cin >> c; if (c == 0) break; else { ans = min(ans, r - l); if (ans <= 4) break; } t ^= 1; } if (c == 1) { while (ans > 1) { if (t) { r--; assert(st.find(r) == st.end()); cout << "? " << r << endl; } else { l++; assert(st.find(l) == st.end()); cout << "? " << l << endl; } t ^= 1; cin >> c; if (c == 1) ans = r - l; else break; } cout << "= " << ans << endl; return 0; } while (c == 0) { if (t) { r++; assert(st.find(r) == st.end()); cout << "? " << r << endl; st.insert(r); } else { l--; assert(st.find(l) == st.end()); cout << "? " << l << endl; st.insert(l); } t ^= 1; cin >> c; if (c == 1) { ans = min(ans, r - l); end = 1; } if (c == 0 && (r - l == ans-1)) { end = 1; break; } } cout << "= " << ans << endl; }

Compilation message (stderr)

Colors.cpp: In function 'int main()':
Colors.cpp:29:38: warning: variable 'end' set but not used [-Wunused-but-set-variable]
   29 |  int l = 3, r = n+2, t = 0, ans = n, end = 0;
      |                                      ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...