C. 徐老师的安全距离

    传统题 2000ms 256MiB

徐老师的安全距离

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

暑假了,徐老师和小伙伴出去旅游。

这天他们打算一起去探索一个山洞,但是走着走着,所有人全部走散了!

这个山洞的地形很复杂,山洞里面一共有 nn 个空洞,这些空洞之间有 n1n - 1 条走廊连通,保证这 nn 个空洞都是连通的

其中 11 号空洞就是山洞的入口,第 ii 号空洞向入口处方向连接的空洞编号为 viv_i,这两个空洞之间的走廊长度为 wiw_i

幸运的是,虽然互相找不到了,但是他们的手机还是有信号的!

包含徐老师在内,一起出来旅游的人一共有 mm 个,大家拉了一个微信群,互相报了自己的所在的空洞编号,第 ii 个人在编号 aia_i 的空洞里

由于山洞过于复杂,大家都一个人呆着,可能会遇到危险,当务之急就是让每个人都能和其他小伙伴会和

而现在,就是需要徐老师站出来的时候了!

徐老师已经统计好了整个山洞的地形,现在需要能够快速计算出第 ii 个小伙伴周围离他最近的小伙伴是谁,并且距离为多少,这样大家就可以快速的找到集合对象!

而现在徐老师要负责安抚小伙伴们的情绪,所以需要你来替他解决这个问题

输入格式

输入第一行是一个整数 nn,表示这个山洞里的空洞数量

接下来 n1n - 1 行,每行两个整数 vi,wiv_i,w_i 依次表示 2n2 \sim n 号空洞朝入口处方向连接的空洞编号,以及走廊长度

接下来一行一个整数 mm,表示徐老师和小伙伴的总人数(包含徐老师)

接下来一行 mm 个整数 aia_i,依次表示每个人所在的空洞编号

输出格式

输出 mm 行,每行包含两个整数,依次表示每个人最近的小伙伴编号,以及离他的距离

按照输入顺序输出

数据范围

对于 10%10\% 的数据保证: 2n,m4002 \leq n,m \leq 400

对于另外 10%10\% 的数据保证: 2n,m20002 \leq n,m \leq 2000

对于另外 10%10\% 的数据保证: 2n,m3105,vi=i12 \leq n,m \leq 3 * 10^5, v_i = i - 1

对于另外 10%10\% 的数据保证: 2n,m3105,vi=12 \leq n,m \leq 3 * 10^5, v_i = 1

对于 100%100\% 的数据保证: 2n,m3105,0wi1092 \leq n,m \leq 3 * 10^5, 0 \leq w_i \leq 10^9

特别的保证:对于每个人,离他最近的小伙伴一定是唯一的

样例输入

6
1 2
1 1
1 3
2 1
5 3
4
2 3 4 5

样例输出

4 1
1 3
2 4
1 1

样例解释

山洞形状如图,其中括号内的是该山洞的小伙伴编号

            1
      2 / 1|  \3
       /   |   \
   (1)2 (2)3  (3)4
    1/
  (4)5
  3/
  6

其中 11 号小伙伴最近的小伙伴编号为 44,距离为 11

其中 22 号小伙伴最近的小伙伴编号为 11,距离为 33

其中 33 号小伙伴最近的小伙伴编号为 22,距离为 44

其中 44 号小伙伴最近的小伙伴编号为 11,距离为 11

24CSP-S暑假模拟赛Day7

未参加
状态
已结束
规则
IOI
题目
4
开始于
2024-8-7 17:00
结束于
2024-8-20 5:00
持续时间
300 小时
主持人
参赛人数
16