正整数 と、長さ の正整数列 が与えられます。
yuki 君は 円を持っており、無限に続く階段を登ろうとしています。
はじめ、yuki 君は 段目にいます。
yuki 君は、次の 種類の行動のうち一方を選んで行うことを繰り返します。
行動の結果、yuki 君が 段目に止まったとき、 円を支払わなければなりません。
また、階段を 段登る行動を 回連続で行った場合、yuki 君は肉離れを起こします。
このとき、治療費として追加で 円を支払い、それ以降は階段を 段登る行動を選ぶことができなくなります。
yuki 君がちょうど 段目に止まるような移動方法のうち、支払う金額の合計の最小値を求めてください。
入力は以下の形式で標準入力から与えられる。
yuki 君が支払う金額の最小値を出力せよ。
5 2 100 10 1 10 1 10
12
段目 段目 段目 段目 と移動すると、支払う金額は 円です。
円以下で移動する方法は存在しないため、 を出力してください。
5 5 100 2 4 6 8 10
10
なので、 段目から 段目へ一度で移動できます。 このとき支払う金額は 円です。
8 2 10 100 1 100 1 100 1 1 1
15
段目 段目 段目 段目 段目 段目 と移動することを考えます。
最初の 回の行動では、階段を 段ずつ登っています。 そのため、 段目に止まった時点で肉離れを起こし、治療費として 円を追加で支払います。
その後は 段登る行動を選べなくなりますが、 段ずつ登ることで 段目に到達できます。
このとき支払う金額は 円で、これが最小です。
5 2 10 1000000000 1000000000 1000000000 1000000000 1000000000
3000000000
答えが bit 整数型に収まらない場合があることに注意してください。