結果
問題 |
No.253 ロウソクの長さ
|
ユーザー |
![]() |
提出日時 | 2015-08-01 17:49:41 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 974 bytes |
コンパイル時間 | 340 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 42,892 KB |
最終ジャッジ日時 | 2024-07-16 21:08:05 |
合計ジャッジ時間 | 6,771 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | TLE * 1 -- * 35 |
ソースコード
import sys low = 0 high = int(1e9 + 1) mid = 1000 beforemid = 0 count = 0 print("?", mid) sys.stdout.flush() res = int(input()) if res == 0 : print("! 1000") sys.stdout.flush() elif res == -1 : high = mid mid = (low + high) // 2 - 1 while True : print("?", mid) sys.stdout.flush() res = int(input()) count += 1 if res == 0 : print("!", mid + count) sys.stdout.flush() sys.exit() elif res == -1 : high = mid else : low = mid beforemid = mid mid = (low + high) // 2 - 1 if abs(mid - beforemid) <= 10 : mid = min(mid, beforemid) elif res == 1 : low = 900 mid = (low + high) // 2 - 1 while True : print("?", mid) sys.stdout.flush() res = int(input()) count += 1 if res == 0 : print("!", mid + count) sys.stdout.flush() sys.exit() elif res == -1 : high = mid else : low = mid beforemid = mid mid = (low + high) // 2 - 1 if abs(mid - beforemid) <= 10 : mid = min(mid, beforemid)