#CF1203F1. 完成所有项目(简单版本)
完成所有项目(简单版本)
F1. 完成所有项目(简单版本)
每个测试的时间限制: 秒
内存限制: 兆字节
简单版本与困难版本唯一的区别在于:
- 简单版本中,你需要完成所有项目;
- 困难版本中则不一定需要完成所有项目。
题目描述
Polycarp 是一位非常著名的自由职业者。他当前的评分为 分。
一些非常富有的客户请他为自己公司完成一些项目。
要完成第 个项目,Polycarp 需要至少拥有 分;
完成该项目后,他的评分会变化 分(评分可以增加或减少 , 可正可负)。
Polycarp 的评分在任何时候都不能低于 分,否则人们不会信任评分这么低的自由职业者。
问:是否存在一种项目完成顺序,使得 Polycarp 能在每个项目开始前拥有足够评分,并且在每个项目完成后评分非负?
换句话说,你需要检查是否存在一个项目的排列顺序,使得 Polycarp 能够按照该顺序完成所有项目,并且在每个项目开始前评分 ,每个项目完成后评分 。
输入格式
第一行包含两个整数 和 (,)—— 项目数量,以及 Polycarp 的初始评分。
接下来的 行,每行描述一个项目,包含两个整数 和 (,)—— 完成该项目所需的最低评分,以及完成后的评分变化。
输出格式
输出 "YES" 或 "NO"。
示例
示例 1
输入:
3 4
4 6
10 -2
8 -1
输出:
YES
示例 2
输入:
3 5
4 -5
4 -2
1 3
输出:
YES
示例 3
输入:
4 4
5 2
5 -3
2 1
4 -2
输出:
YES
示例 4
输入:
3 10
10 0
10 -10
30 0
输出:
NO
提示
- 在第一个示例中,可行的顺序为:。
- 在第二个示例中,可行的顺序为:。
- 在第三个示例中,可行的顺序为:。