bzoj#P2771. YY的Train

YY的Train

题目描述

YY 在学会了 Treap 之后更加努力了,于是乎他的灵魂穿越了时空到达了 383838383388 日参加了第 3838 届 UOI,凭借着快速转换农历和阴历的能力,他拿到了金牌第 3838 名。

功成名就之后友爱的 YY 小朋友终于当上了火车调度员。现在小YY面临着一个难题,如何把湘江东岸的粮食运到湘江西岸去。

湘江沿岸总共有 nn 个火车站,这 mm 个火车站由 mm 条双向铁路连接,并且保证任意两个站点可以互达。湘江东岸有 easteast 个火车站,湘江西岸有 westwest 个火车站(当然可能有站点设置在江中),其中东岸有 pp 个火车站中停留了一列装满粮食的火车。YY 的任务是合理安排让这 pp 列火车停在 pp不同的西岸站点。

每条铁路通过的时间都是一天,当然铁路部门为了保证安全要求每一天一条铁路只能通过一列火车。火车在到达目标之前可以在任意站点停留任意天,每个站点最多可以停留 pp 列火车。

上级部门要求 YY 拿出一套方案使得最晚到达的火车尽早到达。

当然 YY 作为 UOI 金牌有更加重要的事情(要和 Daren Nicholas 打篮球啦,要和 Luciano 踢足球啦)所以这个任务就交给你啦。

输入格式

第一行四个整数 n,m,east,westn,m,east,west
接下来 mm 行每行两个整数 u,vu,v 描述一条连通 u,vu,v 的铁路
倒数第二行一个整数 pp
最后一行 pp 个整数,表示 pp 列火车停留的地方。

输出格式

一个整数,表示最晚达到的火车达到的时间。

2 1 1 1
1 2
1
1
1

数据规模与约定

对于 100%100\% 的数据,n106n\leq 10^6m=n1m=n-1,且保证存在一个站点将东岸和西岸的站点分开。