/ Vijos / 题库 /

赚差价

赚差价

时间限制:1秒  内存限制:256M


【问题描述】

  CQ市的景区有 \(m\) 条单向道路把 \(n\) 个旅游景点连接起来,任意两个景点之间最多只有一条单向道路直接相连。

  每个景点都在出售一种文创产品,但价格可能不同。生意人H先生得知这一信息后,决定在旅游的同时,利用在不同景点中的文创差价赚回一点旅游费用。他决定从 \(1\) 号景点出发,在 \(n\) 号景点结束旅行。在旅游的过程中,任何景点可以重复经过多次。H先生会选择一个经过的景点买入文创产品,并在之后经过的另一个景点卖出去,中间的差价就是他获取的利润。因为主要还是旅游娱乐,所以这样的买卖最多只进行一次。

  现在请你告诉H先生,他在旅游中最多能赚取多少利润?

【输入格式】

  第一行包含两个正整数 \(m\) 和 \(n\),分别表示道路的数目和景点的数目。
  接下来 \(m\) 行,每行有两个正整数,\(u,v(1≤u,v≤n)\),表示通过这单向条道路可以从景点 \(u\) 走到景点 \(v\)。
  再接下来的一行有 \(n\) 个正整数,按标号顺序分别表示这 \(n\) 个景点的文创产品的价格 \(p_i(1≤p_i≤100)\)。

【输出格式】

  输出一个整数,表示最多能赚取的利润。如果没有差价可赚,则输出 0。

【输入输出样例】

 Input

7 5
1 2
1 4
2 3
3 5
3 2
4 5
5 4
5 2 6 8 1

 Output

7

【样例解释】

  H先生可以选择路线:1→4→5→4→5 ,并在第一次经过5号景点时以1的价格买入文创产品,在第二次到达4号景点时以8的价格卖出,赚取的利润数为:8-1=7。可以证明这是可赚取的最大利润

【数据限制】

  对于 \(10\%\) 的数据,\(1≤n≤6\)。
  对于 \(30\%\) 的数据,\(1≤n≤100\)。
  对于 \(70\%\) 的数据,\(1≤n≤1000\)。
  对于 \(100\%\) 的数据,\(1≤n≤100000,1≤m≤200000\)。输入数据保证 1 号景点可以到达 \(n\) 号景点。

【来源】

  Mr.he

信息

ID
3101
难度
9
分类
图结构 | 最短路 点击显示
标签
递交数
6
已通过
1
通过率
17%
被复制
2
上传者