100 atcoder#ABC153F. [ABC153F] Silver Fox vs Monster

[ABC153F] Silver Fox vs Monster

配点 : 600600

問題文

ギンギツネは NN 体のモンスターと戦っています。

モンスターは 11 列に並んでおり、数直線上にいるとみなすことができます。ii 番目のモンスターは座標 XiX_i にいて、体力は HiH_i です。

ギンギツネは爆弾を使ってモンスターを攻撃することができます。 座標 xx で爆弾を使うと、座標が xDx-D 以上 x+Dx+D 以下の範囲にいる全てのモンスターの体力を AA 減らすことができます。 爆弾を使う以外の方法でモンスターの体力を減らすことはできません。

全てのモンスターの体力を 00 以下にすればギンギツネの勝ちです。

ギンギツネがモンスターに勝つまでに爆弾を使う回数の最小値を求めてください。

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 0D1090 \leq D \leq 10^9
  • 1A1091 \leq A \leq 10^9
  • 0Xi1090 \leq X_i \leq 10^9
  • 1Hi1091 \leq H_i \leq 10^9
  • XiX_i は相異なる。
  • 入力中のすべての値は整数である。

入力

入力は以下の形式で標準入力から与えられる。

NN DD AA

X1X_1 H1H_1

:

XNX_N HNH_N

出力

ギンギツネがモンスターに勝つまでに爆弾を使う回数の最小値を出力せよ。

3 3 2
1 2
5 4
9 2
2

最初に座標 44 で爆弾を使うことで、11 番目と 22 番目のモンスターの体力を 22 減らせます。

次に座標 66 で爆弾を使うことで、22 番目と 33 番目のモンスターの体力を 22 減らせます。

この 22 回で全てのモンスターの体力を 00 にできました。11 回で全てのモンスターの体力を 00 以下にすることはできません。

9 4 1
1 5
2 4
3 3
4 2
5 1
6 2
7 3
8 4
9 5
5

座標 55 で爆弾を 55 回使います。

3 0 1
300000000 1000000000
100000000 1000000000
200000000 1000000000
3000000000

オーバーフローに注意してください。