結果

問題 No.595 登山
コンテスト
ユーザー pluto77
提出日時 2018-01-04 15:22:31
言語 PyPy2
(7.3.15)
結果
AC  
実行時間 280 ms / 1,500 ms
コード長 418 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 287 ms
コンパイル使用メモリ 77,480 KB
最終ジャッジ日時 2025-12-04 00:53:00
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 25
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#yuki_595

INF=float('inf')
dp=[[INF for i in xrange(2)] for j in xrange(200000)]
n,p=map(int,raw_input().split())
h=map(int,raw_input().split())
dp[0][0]=0
for i in xrange(n-1):
 dp[i+1][0]=min(dp[i+1][0],dp[i][0]+min(p,max(h[i+1]-h[i],0)))
 dp[i+1][1]=min((dp[i+1][1],dp[i][0]+p))
 dp[i+1][1]=min(dp[i+1][1],dp[i][1]+min(p,max(h[i]-h[i+1],0)))
 dp[i+1][0]=min(dp[i+1][0],dp[i][1]+p)
print min(dp[n-1][0],dp[n-1][1])
0