Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:0.7 s 空间限制:512 MB

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

统计

题目描述

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

水星上有编号为 $1$ 到 $N$ 的 $N$ 台服务器,这些服务器的通讯呈链式结构。具体来说,我们用 $N-1$ 条信道(视为无向边)连接了这些服务器,第 $i$ 条信道连接 $i$ 号服务器和 $i+1$ 号服务器。
假设 $j$ 号服务器收到了地球发来的补丁。你需要尽快将补丁传输到其他服务器。
一台服务器收到补丁后,会立刻安装这个补丁(安装时间忽略不计),并且将补丁在这台服务器的缓冲区里保留 $t_j$ 秒,之后将其删除。
由于太阳活动的影响,第 $i$ 条通信信道只能在时段 $[l_i, r_i]$(时刻 $l_i$ 到时刻 $r_i$)接通。某条通信信道接通后,如果信道一端的服务器 A 的缓冲区里有补丁,而另一端的服务器 B 没有安装这个补丁,A 就会通过信道向 B 传输这个补丁。请注意,传输补丁的时间忽略不计。注意,你可以任选地球把补丁发给 $j$ 号服务器的时刻。

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

输入格式

第一行有一个整数 $n$。
第二行有 $n$ 个整数 $t_1,$ $t_2,$ $\ldots,$ $t_n$。
在接下来的 $n-1$ 行中,每行两个整数 $l_i,$ $r_i$。

输出格式

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

样例 1

input

1
10

output

0

样例 2

input

2
3 5
6 8

output

3
1

样例 3

input

3
1 2 4
7 10
3 5

output

-1
5
5

如果 $1$ 号服务器首先收到补丁,$3$ 号服务器就无法得到补丁,因为 $2$ 号信道在 $1$ 号信道开启前就关闭了。 如果 $2$ 号服务器在第 $5$ 秒收到补丁,则 $3$ 号服务器可以立即收到补丁,之后,等到第 $7$ 秒时 $1$ 号信道开启时,$1$ 号服务器就会收到补丁。 如果 $3$ 号服务器在第 $5$ 秒收到补丁,则 $2$ 号服务器可以立即收到补丁,之后,等到第 $7$ 秒时 $1$ 号信道开启时,$1$ 号服务器就会收到补丁。

样例 4

input

4
1 0 3 2
4 6
5 5
7 10

output

5
5
4
-1

若 $2$ 号服务器首先收到补丁,由于 $2$ 号服务器从不缓存,且 $2$ 号信道只在第 $5$ 秒开启,为了让 $3$ 号服务器拿到补丁,你只能选择在第 $5$ 秒把补丁发给 $2$ 号服务器。 若 $3$ 号服务器首先收到补丁,不妨选择第 $4$ 秒,$3$ 号服务器会将其缓存至第 $7$ 秒,这样 $2$ 号和 $4$ 号服务器都能拿到补丁。

数据范围与提示

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

子任务编号 分值 $n$ $t_i$ $r_i$
1 20 $1 ⩽ n ⩽ 500$ $0 ⩽ t_i ⩽ 500$ $0 ⩽ r_i ⩽ 500$
2 10 $1 ⩽ n ⩽ 5000$ $t_i = 5000$ $0 ⩽ r_i ⩽ 5000$
3  10  $1 ⩽ n ⩽ 5000$ $0 ⩽ t_i ⩽ 5000$ $r_i = 5000$
4 10 $1 ⩽ n ⩽ 5000$ $0 ⩽ t_i ⩽ 5000$ $0 ⩽ r_i ⩽ 5000$
5 15 $1 ⩽ n ⩽ 2\times 10^5$ $t_i = 10^9$ $0 ⩽ r_i ⩽ 10^9$
6  15  $1 ⩽ n ⩽ 2\times 10^5$ $0 ⩽ t_i ⩽ 10^9$ $r_i = 10^9$
7 20 $1 ⩽ n ⩽ 2\times 10^5$ $0 ⩽ t_i ⩽ 10^9$ $0 ⩽ r_i ⩽ 10^9$