結果
問題 |
No.253 ロウソクの長さ
|
ユーザー |
![]() |
提出日時 | 2016-09-27 21:35:30 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 546 bytes |
コンパイル時間 | 550 ms |
コンパイル使用メモリ | 63,892 KB |
実行使用メモリ | 25,604 KB |
平均クエリ数 | 38.75 |
最終ジャッジ日時 | 2024-07-16 11:06:04 |
合計ジャッジ時間 | 6,829 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 14 WA * 22 |
ソースコード
#include <iostream> #include <algorithm> #include <vector> #include <queue> #include <cstdio> #include <set> using namespace std; #define rep(i,n) for(int i=0;i<(n);i++) const int INF = 1e9; int ask(int Y){ cout << "? " << Y << endl; int res; cin >> res; return res; } int main(){ int l = 0; int r = INF + 1; rep(i, 50){ int mid = (l + r) / 2; int ret = ask(mid); if(ret == -1){//短い r = mid; }else if(ret == 1){//長い l = mid - 1; }else if(ret == 0){ printf("! %d\n", mid + i); return 0; } } return 0; }