結果
問題 | 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 sysinput=sys.stdin.readlinedef I(): return int(input())def MI(): return map(int, input().split())def LI(): return list(map(int, input().split()))mod=10**9+7def main():N=I()Y=LI()inf=10**10M=10**4dp=[[inf]*(M+1)for _ in range(N+1)]#dp[i][j]はi個まで見て,最後の高さがjの時の時の最小値#dp[i][j]はdp[i-1][0~j]のmin+costdp[0][0]=0for 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=inffor j in range(M+1):ans=min(ans,dp[-1][j])print(ans)main()