#1821. [合肥市] 小 C 的工作(work)

    ID: 1821 传统题 文件IO:work 1000ms 512MiB 尝试: 14 已通过: 2 难度: 9 上传者: 标签>贪心区间贪心2021合肥市初中组

[合肥市] 小 C 的工作(work)

题目描述

小 C 不喜欢上班。他的老板又给小 C 安排了 nn 项任务。老板担心小 C 在公司里不干活儿,于是给每一项任务安排了一个最迟动工时间 tit_i,当超过时间 tit_i 时(不包括 tit_i 这个时间点),如果小 C 仍未动工,就会被扣薪。小 C 可以选择在 tit_i 时刻之前或者恰好在 tit_i 时刻办这项任务,一旦选择开始办,就必须连续不断、且时长达到 lil_i 才能完成这项 任务。

在任意时刻下,小 C 最多只能做一项任务。小 C 很懒,他想合理安排任务顺序,使得开始办第一项任务的时间尽可能地迟,并且不会被扣薪。请你告诉他最迟的时间。

注意开始时间可能为负数。

输入格式

从文件 work.in 中读取数据。

第一行一个正整数 nn,表示任务个数;

接下来 nn 行,每行两个整数 tit_ilil_i ,表示每项任务最迟动工时间以及完成任务所需的工作时长。

输出格式

输出到文件 work.out 中。

仅一行一个数,表示最迟的工作时间。

样例

2
1 4
2 2
-1

解释#1

按照 2211 的任务顺序,工作的时间区间为 [1,1][1,5][−1,1][1,5]。显然开始工作的时间不能迟于时刻 1−1

5
2 5
3 3
7 4
8 2
10 1
-4

解释#2

按照 2211554433 的任务顺序,工作的时间区间为 [4,1][1,4][4,5][5,7][7,11][−4,−1][−1,4][4,5][5,7][7,11]

数据范围

  • 对于 10%10\% 的数据:n=2n=2
  • 对于 30%30\% 的数据:n10n≤10
  • 对于 60%60\% 的数据:n5×103n≤5×10^3
  • 对于 100%100\% 的数据:n2×105n≤2×10^50<li,ti1090<l_i,t_i≤10^9