近期,新型冠状病毒肆虐,为了集中力量打赢防疫攻坚战,国家启动了口罩生产自动化方案。
在这套方案里,有 n 个自动化工厂(编号 1 到 n ),分别对应着生产口罩的不同工序。不过,一些工厂的工序存在若干个前置工序。工厂 a 的工序为工厂 b 工序的前置工序,其含义是:工厂 a 生产完成后,工厂 b 才能开工。一个工厂存在多个前置工序时,只有全部前置工序都完成,它的工序才能开始进行。
每个工厂完成自己的工序都需要一定的时间,且只有所有工厂都完成自己的工序,口罩生产才能完成。
现在告诉你每个工厂完成工序需要的时间,以及每个工厂进行自己工序需要的前置工序,问最早什么时候口罩生产才能完成?
其中 n,m≤200000 ,工厂完成工序的时间 ≤10000 。
第一行两个整数 n,m ,表示工厂个数和前置工序的关系数;
接下来一行 n 个整数,第 i 个整数表示第 i 个工厂完成自己工序需要的时间;
接下来 m 行,每行两个整数 u,v ,表示工厂 u 的工序是工厂 v 工序的一个前置工序。
一行一个整数表示所有工厂完成自己工序的最早时间。数据保证一定能完成。
10 2 1 4 1 1 4 5 6 10 9 8 6 10 1 5
13
30% 的数据: n,m≤300 ;
60% 的数据: n,m≤5000 ;
100% 的数据: n,m≤200000 ,工厂完成工序的时间 ≤10000 。