AT_abc153_f [ABC153F] Silver Fox vs Monster
Description
[problemUrl]: https://atcoder.jp/contests/abc153/tasks/abc153_f
ギンギツネは $ N $ 体のモンスターと戦っています。
モンスターは $ 1 $ 列に並んでおり、数直線上にいるとみなすことができます。$ i $ 番目のモンスターは座標 $ X_i $ にいて、体力は $ H_i $ です。
ギンギツネは爆弾を使ってモンスターを攻撃することができます。 座標 $ x $ で爆弾を使うと、座標が $ x-D $ 以上 $ x+D $ 以下の範囲にいる全てのモンスターの体力を $ A $ 減らすことができます。 爆弾を使う以外の方法でモンスターの体力を減らすことはできません。
全てのモンスターの体力を $ 0 $ 以下にすればギンギツネの勝ちです。
ギンギツネがモンスターに勝つまでに爆弾を使う回数の最小値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ D $ $ A $ $ X_1 $ $ H_1 $ : $ X_N $ $ H_N $
Output Format
ギンギツネがモンスターに勝つまでに爆弾を使う回数の最小値を出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 2\ \times\ 10^5 $
- $ 0\ \leq\ D\ \leq\ 10^9 $
- $ 1\ \leq\ A\ \leq\ 10^9 $
- $ 0\ \leq\ X_i\ \leq\ 10^9 $
- $ 1\ \leq\ H_i\ \leq\ 10^9 $
- $ X_i $ は相異なる。
- 入力中のすべての値は整数である。
### Sample Explanation 1
最初に座標 $ 4 $ で爆弾を使うことで、$ 1 $ 番目と $ 2 $ 番目のモンスターの体力を $ 2 $ 減らせます。 次に座標 $ 6 $ で爆弾を使うことで、$ 2 $ 番目と $ 3 $ 番目のモンスターの体力を $ 2 $ 減らせます。 この $ 2 $ 回で全てのモンスターの体力を $ 0 $ にできました。$ 1 $ 回で全てのモンスターの体力を $ 0 $ 以下にすることはできません。
### Sample Explanation 2
座標 $ 5 $ で爆弾を $ 5 $ 回使います。
### Sample Explanation 3
オーバーフローに注意してください。