結果
問題 | No.1077 Noelちゃんと星々4 |
ユーザー |
![]() |
提出日時 | 2020-06-15 23:49:33 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 287 ms / 2,000 ms |
コード長 | 776 bytes |
コンパイル時間 | 149 ms |
コンパイル使用メモリ | 82,400 KB |
実行使用メモリ | 154,836 KB |
最終ジャッジ日時 | 2024-07-03 11:40:00 |
合計ジャッジ時間 | 4,498 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 20 |
ソースコード
import sys input=sys.stdin.readline def I(): return int(input()) def MI(): return map(int, input().split()) def LI(): return list(map(int, input().split())) mod=10**9+7 def main(): N=I() Y=LI() inf=10**10 M=10**4 dp=[[inf]*(M+1)for _ in range(N+1)] #dp[i][j]はi個まで見て,最後の高さがjの時の時の最小値 #dp[i][j]はdp[i-1][0~j]のmin+cost dp[0][0]=0 for i in range(N): Min=[inf]*(M+1) Min[0]=dp[i][0] for j in range(M): Min[j+1]=min(Min[j],dp[i][j+1]) for j in range(M): dp[i+1][j]=Min[j]+abs(Y[i]-j) ans=inf for j in range(M+1): ans=min(ans,dp[-1][j]) print(ans) main()