#P743. 工程建设

工程建设

题目描述

有个大工程,可以拆分为 nn 个建设任务。其中完成第 ii 个建设任务需要 tit_i 分钟,而有些任务是有前置任务的,这类要求共计 mm 条。其中第 ii 条规则规定,若要开工 bib_i 号任务则必须先完成 aia_i 号任务。

除了这些要求之外,所有任务都可以并行开工的。请问在帮手足够多的情况下,最快需要多少时间才能完成任务?

输入格式

  • 第一行:两个整数 nnmm
  • 第二行:nn 个整数表示 t1,t2,,tnt_1,t_2,\dots,t_n
  • 接下来 mm 行:每行两个整数 aia_ibib_i

输出格式

  • 单个整数,表示最少需要多少时间才能完成所有任务
3 1
10 20 25
1 2
30

数据范围

  • 50%50\% 的数据,1n5001\leq n\leq 500
  • 100%100\% 的数据,1n200,0001\leq n\leq 200,0001m500,0001\leq m\leq 500,000
  • 1ti100,0001\leq t_i\leq 100,000
  • 数据保证存在完成整个工程的方案,限制不会出现循环