#4735. [USACO08NOV] Time Management S

    ID: 4735 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>基础算法二分来源USACO时间2008难度普及/提高-

[USACO08NOV] Time Management S

题目描述

作为一名忙碌的商人,约翰知道必须高效地安排他的时间。他有 N(1N1000)N(1\le N\le 1000) 个工作要做,比如给奶牛挤奶,清洗牛棚,修理栅栏之类的。

为了高效,约翰列出了所有工作的清单。第 i(1iN)i(1\le i\le N) 个工作需要 Ti(1Ti1000)T_i(1\le T_i\le 1000) 单位的时间来完成,而且必须在 1Si1061\le S_i\le 10^6 或之前完成。现在是 00 时刻。约翰做一份工作必须直到做完才能停止。

所有的商人都喜欢睡懒觉。请帮约翰计算他最迟什么时候开始工作,可以让所有工作按时完成。(如果始终无法完成全部任务,输出 -1

输入格式

第一行,一个整数 NN

接下来 NN 行,每行 22 个有空格分隔的整数 Ti,SiT_i,S_i

输出格式

一行,一个整数,表示约翰可以开始工作的最晚时间,如果约翰无法完成所有工作,则为 -1

输入输出样例 #1

输入 #1

4 
3 5 
8 14 
5 20 
1 16

输出 #1

2

说明/提示

【样例解释】

约翰有 44 个工作要做,分别需要 3853、8、511 个时间单位,并且必须分别在时间 514205、14、201616 之前完成。

约翰必须在时间 22 开始第一个作业。然后他可以按此顺序完成第二、第四和第三项工作,以按时完成。