hitwh 2019 新生赛 G LFhase 与他的学术文章

hitwh 2019 新生赛 G LFhase 与他的学术文章

描述

Dr. LFhase 拥有着强大的学术能力,他看起文章来是无穷无尽的,但是由于文章之间的灌水太过于严重,有时候他也会失去兴趣。

现在,Dr. LFhase 又开始了新一天的研究,他从导师布置的某一篇文章开始,每次选择一篇能从当前文章延展到的新文章继续阅读(当前文章可以延展到的文章不一定能延展到当前文章),只有读到了会使他失去兴趣的文章,他才会选择停止(也可以选择不停止)。

现在给定了文章之间的延展关系和每篇文章的价值,请你帮助 LFhase 选择他今天文章的阅读顺序,使他收获的价值最大,求出他可以收获价值的最大值。

LFhase 相信温故知新,所以他愿意反复阅读文章,但是一篇文章的价值只能获得一次。

例如,假设有6篇文章,文章之间的延展情况如下图所示:

figure

导师布置的文章的编号为 1,由符号 → 表示,那些会使 LFhase 失去兴趣的文章用双圈来表示。每个文章的价值标在了文章上方。在这个例子中,LFhase 能收获的最大价值为 47,阅读顺序为 1-2-4-1-2-3-5。

输入

第一行包含两个整数 ,\(n,m(1 \le n, m \le 500,000)\),\(n\) 表示文章的数量,\(m\) 表示文章之间的关系的数量。

接下来 \(m\) 行,每行包含两个整数 \(u,v(1 \le u, v \le n)\),第 \(i+1\) 行的两个整数数表示编号为 \(u\) 的文章可以延展到编号为 \(v\) 的文章。

接下来 \(n\) 行,每行包含一个整数 \(a_i(1 \le a_i \le 4,000)\),按顺序表示每篇文章的价值。

接下来一行包含两个整数 \(S,P(1 \le S, P \le n)\)。\(S\) 表示导师布置的文章的编号,也就是开始时读的文章的编号。\(P\) 表示会使他失去兴趣的文章的数量。

接下来 \(P\) 行,每行包含一个整数 \(x(1 \le x \le n)\),\(x\) 表示会使他失去兴趣的文章的编号。

输入数据保证 LFhase 必定可以读到使他失去兴趣的文章。

输出

输出一个整数,表示 LFhase 停止阅读时可以收获文章价值的最大值。

输入样例

6 7
1 2
2 3
3 5
2 4
4 1
2 6
6 5
10
12
8
16
1
5
1 4
4
3
5
6

输出样例

47

备注

数据已经略微加强

信息

ID
1006
难度
9
分类
(无)
标签
(无)
递交数
16
已通过
3
通过率
19%
上传者