結果
| 問題 |
No.31 悪のミックスジュース
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-01-01 13:52:35 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 614 bytes |
| コンパイル時間 | 147 ms |
| コンパイル使用メモリ | 81,992 KB |
| 実行使用メモリ | 62,360 KB |
| 最終ジャッジ日時 | 2024-10-10 03:04:26 |
| 合計ジャッジ時間 | 1,671 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 12 WA * 5 |
ソースコード
n,v = map(int,input().split())
C = list(map(int,input().split()))
cost = []
now = 0
mi = 10**20
mnum = 0
mcost = 0
for i,c in enumerate(C,1):
now += c
cost.append([now/i,now])
if mi > now/i:
mi = min(mi,now/i)
mnum = i
mcost= now
base = 0
base += sum(C)
v -= min(v,n)
took = max(0,(v-100)//mnum)
base += took*mcost
v -= took*mnum
inf = 10**20
dp = [inf]*(v+1)
dp[0] = 0
for i in range(1,n+1):
c = cost[i-1][1]
for j in range(v):
if dp[j] == inf:
continue
if j + i <= v:
dp[j+i] = min(dp[j+i],dp[j]+c)
print(base+dp[-1])