AT_abc320_f [ABC320F] Fuel Round Trip
Description
[problemUrl]: https://atcoder.jp/contests/abc320/tasks/abc320_f
数直線上の座標 $ 0 $ から座標 $ X_N $ まで行き、折り返して座標 $ 0 $ まで帰ってくる計画を立てています。ただし、往路では正の方向、復路では負の方向にしか進めません。
移動は車で行います。車は距離 $ 1 $ 進むごとに $ 1 $ リットルの燃料を消費します。燃料は $ H $ リットルまで所持することができ、燃料を所持していない状態で進むことはできません。
各 $ i\ =\ 1,\ 2,\ \ldots,\ N-1 $ について、座標 $ X_i $ にはガソリンスタンドがあり、$ P_i $ 円払うと $ F_i $ リットルの燃料が得られます。ただし、$ H $ リットルを超えて燃料を所持することはできません。より厳密には、$ x $ リットルの燃料を持っているときに座標 $ X_i $ にあるガソリンスタンドを使うと $ P_i $ 円を払う必要があり、持っている燃料は $ \min(x\ +\ F_i,\ H) $ リットルとなります。 各ガソリンスタンドは、**往路と復路で合わせて** $ 1 $ 回までしか使うことができません。
はじめに燃料を $ H $ リットル所持しているとき、この計画を達成することができるか判定し、可能ならば必要な金額の最小値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ H $ $ X_1 $ $ X_2 $ $ \ldots $ $ X_N $ $ P_1 $ $ F_1 $ $ P_2 $ $ F_2 $ $ \vdots $ $ P_{N-1} $ $ F_{N-1} $
Output Format
計画を達成できる場合は必要な金額の最小値を、できない場合は `-1` を出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N,\ H\ \leq\ 300 $
- $ 0\