結果
問題 |
No.67 よくある棒を切る問題 (1)
|
ユーザー |
![]() |
提出日時 | 2024-08-26 00:44:39 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 197 ms / 5,000 ms |
コード長 | 388 bytes |
コンパイル時間 | 347 ms |
コンパイル使用メモリ | 82,276 KB |
実行使用メモリ | 107,796 KB |
最終ジャッジ日時 | 2025-03-03 12:13:15 |
合計ジャッジ時間 | 6,438 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
N = int(input()) L = list(map(int, input().split())) K = int(input()) # 長さ m の棒を K 本作れるか def can(m: float) -> bool: cnt = 0 for l in L: cnt += int(l / m) return cnt >= K lo = 0 hi = max(L) ans = lo for _ in range(60): m = (lo + hi) / 2 if can(m): ans = max(ans, m) lo = m else: hi = m print(f'{ans:.10f}')