結果
問題 | No.246 質問と回答 |
ユーザー | Kmcode1 |
提出日時 | 2015-07-17 22:24:15 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 52 ms / 2,000 ms |
コード長 | 916 bytes |
コンパイル時間 | 1,566 ms |
コンパイル使用メモリ | 175,932 KB |
実行使用メモリ | 25,476 KB |
平均クエリ数 | 33.00 |
最終ジャッジ日時 | 2024-07-16 19:38:02 |
合計ジャッジ時間 | 4,416 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<cctype> #include<cstdlib> #include<algorithm> #include<bitset> #include<vector> #include<list> #include<deque> #include<queue> #include<map> #include<set> #include<stack> #include<cmath> #include<sstream> #include<fstream> #include<iomanip> #include<ctime> #include<complex> #include<functional> #include<climits> #include<cassert> #include<iterator> #include<immintrin.h> using namespace std; bool ok(long long int mid){ cout << "?" << " " << mid << endl; int ind; cin >> ind; return ind; } int main(){ long long int mint = 0; long long int maxt = INT_MAX; while (mint + 1LL < maxt){ long long int mid = (mint + maxt) >> 1; if (ok(mid)){ mint = mid; } else{ maxt = mid; } } if (mint != maxt){ if (ok(mint)){ maxt = mint; } else{ mint = maxt; } } cout << "!" << " " << mint << endl; return 0; }