atcoder#ABC183D. [ABC183D] Water Heater

[ABC183D] Water Heater

题目描述

給湯器が 1 1 つあり、毎分 W W リットルのお湯を供給することができます。

N N 人の人がいます。i i 番目の人は時刻 Si S_i から Ti T_i までの間 (時刻 Ti T_i ちょうどを除く)、この湯沸かし器で沸かしたお湯を毎分 Pi P_i リットル使おうと計画しています。お湯はすぐ冷めてしまうので、溜めておくことはできません。

すべての人に計画通りにお湯を供給することはできますか?

输入格式

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

N N W W S1 S_1 T1 T_1 P1 P_1 \vdots SN S_N TN T_N PN P_N

输出格式

すべての人に計画通りにお湯を供給することができるなら Yesを、できないなら Noを出力せよ。

题目大意

题目描述

11 个热水器,每分钟可以提供 WW 升热水。

现在来了 NN 个人想使用热水。第 ii 个人打算从时刻 SiS_i 使用到时刻 TiT_iTiT_i 除外),每分钟需要使用 PiP_i 升热水。由于热水倒出来会迅速变冷,因此不能储存。

你能按照他们的计划提供热水吗?

输入格式

输入按照以下格式使用标准输入:

11 行:NNWW

22N+1N+1 行:第 ii 行分别输入 SiS_i , TiT_i , PiP_i

N W
S(1) T(1) P(1)
...
S(N) T(N) P(N)

输出格式

如果你可以按计划为每个人提供热水,请输出 Yes ,否则输出 No

数据限制

  • 1N2×1051\le N\le 2\times 10^5

  • 0Si<Ti2×1050\le S_i < T_i \le 2\times 10^5

  • 1W, Pi1091\le W,~P_i\le 10^9

  • 输入的都是整数

样例 1 解释

在时刻 33 与时刻 44 之间,第 2, 3, 42,~3,~4 个人每分钟分别需要使用 4, 6, 14,~6,~1 升的热水,总共需要每分钟 1111 升热水的供应量;但是热水器每分钟只能供应 1010 升的热水,因此无法按计划供应热水。

4 10
1 3 5
2 4 4
3 10 6
2 4 1
No
4 10
1 3 5
2 4 4
3 10 6
2 3 1
Yes
6 1000000000
0 200000 999999999
2 20 1
20 200 1
200 2000 1
2000 20000 1
20000 200000 1
Yes

提示

制約

  • 1 N  2× 105 1\leq\ N\ \leq\ 2\times\ 10^5
  • 0 Si < Ti  2× 105 0\leq\ S_i\ <\ T_i\ \leq\ 2\times\ 10^5
  • 1 W, Pi  109 1\leq\ W,\ P_i\ \leq\ 10^9
  • 入力はすべて整数

Sample Explanation 1

時刻 3 3 から 4 4 の間に、2,3,4 2,3,4 番目の人がそれぞれ 毎分 4,6,1 4,6,1 リットル、合計毎分 11 11 リットルのお湯を使おうとしています。 給湯器は毎分 10 10 リットルしかお湯を供給することができないので、計画通りに供給することはできません。