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

「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)接通。某条通信信道接通后,如果信道一端的服务器 A 的缓冲区里有补丁,而另一端的服务器 B 没有安装这个补丁,A 就会通过信道向 B 传输这个补丁。请注意,传输补丁的时间忽略不计。注意,你可以任选地球把补丁发给 jj 号服务器的时刻。

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

输入格式

第一行有一个整数 nn
第二行有 nn 个整数 t1,t_1, t2,t_2, ,\ldots, tnt_n
在接下来的 n1n-1 行中,每行两个整数 li,l_i, rir_i

输出格式

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

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

数据范围与提示

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

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