結果
問題 | No.67 よくある棒を切る問題 (1) |
ユーザー |
![]() |
提出日時 | 2021-12-26 02:14:40 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 2,380 ms / 5,000 ms |
コード長 | 538 bytes |
コンパイル時間 | 301 ms |
コンパイル使用メモリ | 12,416 KB |
実行使用メモリ | 32,864 KB |
最終ジャッジ日時 | 2025-03-03 11:55:07 |
合計ジャッジ時間 | 48,441 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
import sys input = sys.stdin.readline N=int(input()) L=list(map(int,input().split())) K=int(input()) OK=max(L)//K NG=sum(L)//K while NG-OK>1: mid=(OK+NG)//2 ST=0 for l in L: ST+=l//mid if ST>=K: break if ST>=K: OK=mid else: NG=mid OK=max(10**(-9),OK-1) NG=NG+1 while NG-OK>=max(10**(-9),OK/(10**9)): mid=(OK+NG)/2 ST=0 for l in L: ST+=l//mid if ST>=K: break if ST>=K: OK=mid else: NG=mid print(OK)