結果
問題 |
No.253 ロウソクの長さ
|
ユーザー |
![]() |
提出日時 | 2015-08-01 17:42:20 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 970 bytes |
コンパイル時間 | 300 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 42,368 KB |
最終ジャッジ日時 | 2024-07-16 21:07:39 |
合計ジャッジ時間 | 6,774 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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) < 5 : 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) < 5 : mid = min(mid, beforemid)