結果
| 問題 |
No.31 悪のミックスジュース
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-01-01 14:00:18 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 627 bytes |
| コンパイル時間 | 344 ms |
| コンパイル使用メモリ | 82,256 KB |
| 実行使用メモリ | 62,552 KB |
| 最終ジャッジ日時 | 2024-10-10 03:15:19 |
| 合計ジャッジ時間 | 1,849 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 12 WA * 5 |
ソースコード
n,v = map(int,input().split())
C = list(map(int,input().split()))
cost = []
now = 0
mnum = 0
mcost = 0
for i,c in enumerate(C,1):
now += c
cost.append(now)
if mnum == 0:
mnum = i
mcost = now
continue
if mcost*i > now*mnum:
mnum = i
mcost = now
base = sum(C)
v -= min(v,n)
took = max(0,(v-100)//mnum)
base += took*mcost
v -= took*mnum
inf = 10**30
dp = [inf]*(v+1)
dp[0] = 0
for i, c in enumerate(cost,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])