#codefestival2015qualAc. [codefestival_2015_qualA_c]8月31日
[codefestival_2015_qualA_c]8月31日
问题描述
这是发生在某颗星球上的某年8月31日的故事。高桥君意识到了一件事情。尽管今天是暑假的最后一天,但他的作业还没有完成!
离作业的截止时间还有T分钟。同时,高桥君要完成N个作业。第i个作业高桥君自己解答需要Ai分钟,但如果他抄写朋友青木君的作业,可以在Bi分钟内完成。然而,抄袭朋友的作业可不好,所以高桥君希望尽可能不要抄写。
请输出为了在截止时间之前完成所有作业,高桥君需要抄写的作业的最小数量。如果无论抄写多少作业都无法在截止时间之前完成,则输出-1。
输入
输入以以下形式从标准输入中给出。
N T A1 B1 A2 B2 : AN BN
- 第1行包含两个整数N(1 ≤ N ≤ 10^5)和T(0 ≤ T ≤ 10^9),以空格分隔。表示有N个作业,截止时间为T分钟。
- 接下来的N行给出了每个作业所需时间的信息。其中第i(1 ≤ i ≤ N)行包含两个整数Ai和Bi(0 ≤ Bi < Ai ≤ 10^4),以空格分隔。表示第i个作业高桥君自己解答需要Ai分钟,抄写朋友的作业则需要Bi分钟。注意确保Bi < Ai。
部分得分
本问题设置了部分得分。
- 当满足Bi = 0的数据集时,如果给出正确答案将获得30分。
- 当没有额外限制的数据集上给出正确答案将获得额外的70分。
输出
请输出一行,表示为了在T分钟内完成所有作业,高桥君需要抄写的作业的最小数量。如果无论抄写多少作业都无法在T分钟内完成,则输出-1。输出末尾需要换行。
示例1
5 7
1 0
3 0
5 0
2 0
4 0
输出示例1
2
例如,抄写第2个和第3个作业可以在7分钟内完成所有作业(计算:1+0+0+2+4)。
示例2
1 1000000000
5 0
输出示例2
0
不需要抄写作业也能在截止时间之前完成。
示例3
1 0
100 99
输出示例3
-1
无论抄写多少作业都无法在截止时间之前完成。
示例4
3 11
5 2
6 4
7 3
输出示例4
2
示例5
6 92
31 4
15 9
26 5
35 8
97 9
32 3
输出示例5
3