Submission #1299061

#TimeUsernameProblemLanguageResultExecution timeMemory
1299061efegColors (BOI20_colors)C++20
0 / 100
1 ms424 KiB
#include <bits/stdc++.h> using namespace std; using i64 = long long; template<typename T> using vec = vector<T>; int last1 = 0,last2 = 0,c = INT_MAX; int query(int sorgu){ if (last1 == 0) last1 = sorgu; else { last2 = last1; last1 = sorgu; } cout << "? " << sorgu << endl; cout.flush(); int q; cin >> q; if (q && last2 != 0) c = min(c,abs(last1 - last2)); return q; } void print(int l,int r){ while (l < r){ query(l); query(r); l++; r--; } if (l == r) query(l); } int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n; cin >> n; c = n; int mid = (n + 1) / 2; query(mid); bool ok = query(1); if (ok == 1){ query(mid - 1); int l = 2, r = mid - 2; while (l < r){ query(l); query(r); l++; r--; } if (l == r) query(l); } else { query(n); int l = 2, r = n-1; while (l < mid && r > mid){ query(l); query(r); l++; r--; } if (l < mid) query(l); if (r > mid) query(r); } cout << "= " << c << endl; cout.flush(); return 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...