新建邮局(2058)
时间限制:1秒 内存限制:256M
【问题描述】
某城市中有一些邮局。居民抱怨说一些房子离最近的邮局很远,所以必须建一个新的邮局。你要选择这个邮局的位置,让离最缺少服务的居民区最近。
这个城市有 \(N\) 个路口,用 \(1..N\) 编号,这 \(N\) 个路口被 \(M\) 条长度不同的双向道路连接。房子和邮局的位置都在路口上。假定在每个路口至少有一栋房子,且在同一个路口可以有多个邮局。
【输入格式】
第一行包含三个整数:\(f,N,M\),分别表示城市现有 \(f\) 个邮局,\(N\) 个路口和 \(M\) 条道路。
接下来的 \(f\) 行,每行一个整数,表示现有邮局所在路口的编号。
接下来的 \(M\) 行,每行包含 2 个整数,分别表示每条双向道路关联的两个路口编号。
【输出格式】
包含两行:
第一行,表示新邮局建立后,任意路口的房子到最近邮局的距离的最大值。
第二行输出新邮局应建立的路口编号,若有多个,则输出编号最小的一个。
【输入输出样例】
Input
1 6 6
2
1 2
2 3
3 4
4 5
5 6
6 1
Output
1
5
【数据说明】
对于 \(100\%\) 的数据 \(1≤f≤500\),\(1≤N≤1000\),\(1≤M≤2000\)。
【来源】
Mr.he