結果
問題 |
No.67 よくある棒を切る問題 (1)
|
ユーザー |
|
提出日時 | 2023-03-18 14:25:28 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 446 bytes |
コンパイル時間 | 311 ms |
コンパイル使用メモリ | 82,364 KB |
実行使用メモリ | 113,368 KB |
最終ジャッジ日時 | 2025-03-03 12:08:16 |
合計ジャッジ時間 | 21,513 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 6 TLE * 1 -- * 23 |
ソースコード
EPS = 1.0e-11 n = int(input()) l = list(map(int, input().split())) k = int(input()) ok = EPS ng = 1.0e9 + EPS while abs(ok - ng) > EPS: mid = (ok + ng) / 2 cnt = 0 for i in range(n): ok2 = 0 ng2 = k + 1 while abs(ok2 - ng2) > 1: mid2 = (ok2 + ng2) // 2 if mid2 * mid <= l[i]: ok2 = mid2 else: ng2 = mid2 cnt += ok2 if cnt >= k: ok = mid else: ng = mid print(f"{ok:.12f}")