結果
問題 | No.246 質問と回答 |
ユーザー |
|
提出日時 | 2017-05-01 18:43:22 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 57 ms / 2,000 ms |
コード長 | 1,272 bytes |
コンパイル時間 | 527 ms |
コンパイル使用メモリ | 55,228 KB |
実行使用メモリ | 25,220 KB |
平均クエリ数 | 30.90 |
最終ジャッジ日時 | 2024-07-16 20:11:34 |
合計ジャッジ時間 | 3,877 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
コンパイルメッセージ
main.cpp: In function ‘REALM getRealm(REALM, bool)’: main.cpp:45:1: warning: no return statement in function returning non-void [-Wreturn-type] 45 | } | ^
ソースコード
#include <iostream>#define questionMAX 100/*answer = true := 以上answer = false := 未満*/class REALM{public:unsigned long long N_MAX, N_MIN, N_MEAN;void getMean(void){N_MEAN = (N_MAX + N_MIN) / 2;}};bool question(int x){bool answer;std::cout << "? " << x << std::endl;std::cin >> answer;if(answer){return true;}else{return false;}}REALM getRealm(REALM realm_prev, bool answer){REALM realm_next;}int main(void){REALM realm;realm.N_MAX = 1000000000;realm.N_MIN = 1;realm.getMean();for(int i = 0; i < questionMAX; i ++){if(question(realm.N_MEAN)){realm.N_MIN = realm.N_MEAN;realm.getMean();}else{realm.N_MAX = realm.N_MEAN - 1;realm.getMean();}if(realm.N_MAX == realm.N_MIN){std::cout << "! " << realm.N_MAX << std::endl << std::flush;break;}else if(realm.N_MIN == realm.N_MAX - 1){if(question(realm.N_MAX)){std::cout << "! " << realm.N_MAX << std::endl << std::flush;break;}else{std::cout << "! " << realm.N_MIN << std::endl << std::flush;break;}}//for debug//std::cout << realm.N_MIN << " <= x <= " << realm.N_MAX << std::endl;}return 0;}