結果
問題 | No.246 質問と回答 |
ユーザー |
![]() |
提出日時 | 2015-07-17 22:46:27 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 53 ms / 2,000 ms |
コード長 | 761 bytes |
コンパイル時間 | 575 ms |
コンパイル使用メモリ | 74,956 KB |
実行使用メモリ | 25,460 KB |
平均クエリ数 | 31.87 |
最終ジャッジ日時 | 2024-07-16 19:41:12 |
合計ジャッジ時間 | 3,634 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
#include <iostream> #include <algorithm> #include <functional> #include <string> #include <climits> #include <vector> #include <numeric> #include <complex> #include <map> #include <bitset> using namespace std; #define __int64 long long #define long __int64 #define REP(i,a,b) for(int i=a;i<b;i++) #define rep(i,n) REP(i,0,n) const int Vecy[4] = {0,-1,0,1}; const int Vecx[4] = {1,0,-1,0}; int main(){ bool in; int min=0; int max=1000000001; long h; while(min + 2 <= max){ h = (min + max) / 2; cout << "? " << h << endl; cin >> in; if(in){ //以上 min = h; }else{ max = h; } } cout << "? " << min + 1 << endl; cin >> in; if(in){ cout << "! " << min + 1 << endl; }else{ cout << "! " << min << endl; } return 0; }