编程题

战胜白蚁

题目描述

小明因为很长时间没有回家,发现他家被白蚁给入侵了,白蚁特别喜欢啃食木头,因此他家的地板就遭殃了。小明要抢救被白蚁破坏的木地板,每个木地板由于白蚁的数量不同,每个地板进行维修的时间也不同,同时要争取及时修理越好,否则超过某个时间,这块地板就会被严重破坏掉。小明只能一块一块的清理白蚁,不能并行操作,也就是不能同时修多块地板。

请编写一个程序,根据每个地板的修理时间和如果不修理就会被白蚁完全损毁的时间,进行一个最合理的排序,使得可以抢救最多的木板。输入是木板的数目,以及每个木板的维修时间和被破坏的时间,输出是能抢救的最多木板的数量。

输入格式

第一行是一个整数 N(N 小于 50000),接下来 N 行每行两个整数 T1,T2描述一个要修理的木板:修理这个木板需要 T1秒,如果在 T2秒之内还没有修理完成,这个木板就报废了。

输出格式

输出一个整数 S,表示最多可以抢修 S 个木板。

样例输入

4
100 200
200 1300
1000 1250
2000 3200

样例输出

3

注意事项

请严格按要求输出,不要多余的打印语句,例如:“输入 x=...” 等多余内容。本程序的代码放在同一个源文件中,调试通过后,拷贝提交该源码。注意: main 函数需要返回 0。

注意: 只使用 ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。注意: 所有依赖的函数必须明确地在源文件中 #include<xxx>, 不能通过工程设置而省略常用头文件。

A
B
C
D
查看答案
赣ICP备20007335号-2