完成作业
时间限制:1秒 内存限制:256M
【问题描述】
作为一名准高三的学生,小H必须高效地安排他的暑假时间。他有 \(n(1\le n\le 1000)\) 道作业题要做,比如数学题,物理题,化学题等各科的题目。
为了高效,小H列出了所有作业题的清单。第 \(i(1\le i\le n)\) 道作业题需要 \(t_i(1\le t_i\le 1000)\) 单位的时间来完成,而且必须在 \(1\le s_i\le 10^6\) 或之前完成。现在是 \(0\) 时刻。小H做一道作业题就必须直到做完才能停止,中途不能停止,也不能临时换一道题做。
但是,先好好地耍一段时间是每一个人的天性。所以请你帮小H计算他最晚什么时候开始做作业,可以让所有作业题按时完成。
【输入格式】
输入的第一行是一个整数 \(n\),表示作业数目,接下来 \(n\) 行,每行 \(2\) 个有空格分隔的整数 \(t_i,s_i\),它们的意义见题目描述。
【输出格式】
一行,一个整数,表示小H可以开始作业题的最晚时间,如果小H无法完成所以作业题,则为 -1
【输入输出样例】
Input
4
3 5
8 14
5 20
1 16
Output
2
【样例解释】
小H有 \(4\) 道作业题要做,分别需要 \(3、8、5\) 和 \(1\) 个时间单位,并且必须分别在时间 \(5、14、20\) 和 \(16\) 之前完成。
小H必须在时间 \(2\) 开始第一个作业。然后他可以按此顺序完成第二、第四和第三项作业题,以按时完成。
【数据限制】
100% 的数据 \(1\le N\le 1000\),\(1\le T_i\le 1000\), \(1\le S_i\le 10^6\)。
【来源】
Mr.he