#L2771. 「ROI 2017 Day 2」水星上的服务器

    ID: 6069 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 10 上传者: 标签>贪心数据结构其他二分查找树形结构区间覆盖传播模型最优化

「ROI 2017 Day 2」水星上的服务器

题目描述

题目译自 ROI 2017 Day 2 T2. Серверы на Меркурии

水星上有编号为 11NNNN 台服务器,这些服务器的通讯呈链式结构。具体来说,我们用 N1N-1 条信道(视为无向边)连接了这些服务器,第 ii 条信道连接 ii 号服务器和 i+1i+1 号服务器。

假设 jj 号服务器收到了地球发来的补丁。你需要尽快将补丁传输到其他服务器。

一台服务器收到补丁后,会立刻安装这个补丁(安装时间忽略不计),并且将补丁在这台服务器的缓冲区里保留 tjt_j 秒,之后将其删除。

由于太阳活动的影响,第 ii 条通信信道只能在时段 [li,ri][l_i, r_i](时刻 lil_i 到时刻 rir_i)接通。某条通信信道接通后,如果信道一端的服务器 AA 的缓冲区里有补丁,而另一端的服务器 BB 没有安装这个补丁,AA 就会通过信道向 BB 传输这个补丁。请注意,传输补丁的时间忽略不计。注意,你可以任选地球把补丁发给 jj 号服务器的时刻。

对于每个 jj (1jN)(1\le j\le N),假设 jj 号服务器第一个收到补丁,试求:最早在什么时候把补丁发给 jj 号服务器,才能保证所有服务器最后都能装上补丁,如果不可能,请输出 1-1


输入格式

第一行有一个整数 nn
第二行有 nn 个整数 t1,t2,,tnt_1, t_2, \ldots, t_n
在接下来的 n1n-1 行中,每行两个整数 li,ril_i, r_i


输出格式

输出 nn 行,每行一个整数,表示:最早在什么时候把补丁发给 jj 号服务器,才能保证所有服务器最后都能装上补丁。若不可能,请输出 1-1


样例 1

输入

1
10

输出

0

样例 2

输入

2
3 5
6 8

输出

3
1

样例 3

输入

3
1 2 4
7 10
3 5

输出

-1
5
5

说明
如果 11 号服务器首先收到补丁,33 号服务器就无法得到补丁,因为 22 号信道在 11 号信道开启前就关闭了。
如果 22 号服务器在第 55 秒收到补丁,则 33 号服务器可以立即收到补丁,之后,等到第 77 秒时 11 号信道开启时,11 号服务器就会收到补丁。
如果 33 号服务器在第 55 秒收到补丁,则 22 号服务器可以立即收到补丁,之后,等到第 77 秒时 11 号信道开启时,11 号服务器就会收到补丁。


样例 4

输入

4
1 0 3 2
4 6
5 5
7 10

输出

5
5
4
-1

说明
22 号服务器首先收到补丁,由于 22 号服务器从不缓存(t2=0t_2=0),且 22 号信道只在第 55 秒开启,为了让 33 号服务器拿到补丁,你只能选择在第 55 秒把补丁发给 22 号服务器。
33 号服务器首先收到补丁,不妨选择第 44 秒,33 号服务器会将其缓存至第 77 秒,这样 22 号和 44 号服务器都能拿到补丁。


数据范围与提示

对于所有数据,0liri1090 \leqslant l_i \leqslant r_i \leqslant 10^9

子任务编号 分值 nn tit_i rir_i
1 20 1n5001 \leqslant n \leqslant 500 0ti5000 \leqslant t_i \leqslant 500 0ri5000 \leqslant r_i \leqslant 500
2 10 1n50001 \leqslant n \leqslant 5000 ti=5000t_i = 5000 0ri50000 \leqslant r_i \leqslant 5000
3 0ti50000 \leqslant t_i \leqslant 5000 ri=5000r_i = 5000
4 0ri50000 \leqslant r_i \leqslant 5000
5 15 1n2×1051 \leqslant n \leqslant 2\times 10^5 ti=109t_i = 10^9 0ri1090 \leqslant r_i \leqslant 10^9
6 0ti1090 \leqslant t_i \leqslant 10^9 ri=109r_i = 10^9
7 20 0ri1090 \leqslant r_i \leqslant 10^9