結果
問題 |
No.2753 鳩の巣原理
|
ユーザー |
![]() |
提出日時 | 2024-05-11 16:23:28 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 54 ms / 2,000 ms |
コード長 | 733 bytes |
コンパイル時間 | 1,788 ms |
コンパイル使用メモリ | 193,504 KB |
最終ジャッジ日時 | 2025-02-21 13:39:01 |
ジャッジサーバーID (参考情報) |
judge4 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
#include <bits/stdc++.h> using namespace std; void fast_io() { ios::sync_with_stdio(false); std::cin.tie(nullptr); } int query(int x) { cout << "? " << x << endl; int cnt; cin >> cnt; return cnt; } int main() { fast_io(); int n; cin >> n; int l = 0, r = n + 1; int lcnt = 0, rcnt = n - 1; for (int i = 0; i < 10; i++) { if (l + 1 == r) { query(1); continue; } int mid = (l + r) / 2; int c = query(mid); if (c - lcnt < mid - l) { r = mid; rcnt = c; } else { l = mid; lcnt = c; } } assert(l + 1 == r); cout << "Yes " << l << " " << r << endl; }