#P1655. 铁路旅行

铁路旅行

题目描述

JOI 国有 NN 个城市,编号分别为 1,2,,N1, 2, \ldots, N。此外,有 N1N-1 条铁路,编号分别为 1,2,,N11, 2, \ldots, N-1。铁路 ii1iN11 \leq i \leq N-1)连接城市 ii 和城市 i+1i+1,且为双向铁路。

在 JOI 国乘坐铁路有两种方式:使用纸质车票,或使用 IC 卡。

  • 乘坐铁路 ii 时,使用纸质车票的票价为 AiA_i 日元。
  • 乘坐铁路 ii 时,使用 IC 卡的票价为 BiB_i 日元。但要用 IC 卡乘坐铁路 ii,需要事先购买该铁路专用的 IC 卡,购买费用为 CiC_i 日元。已购买的 IC 卡可以无限次使用。
  • 由于 IC 卡结算更方便,IC 卡乘坐铁路的票价总是低于纸质车票,即对于所有 i=1,2,,N1i=1,2,\ldots,N-1,都有 Ai>BiA_i > B_i
  • 每条铁路的 IC 卡互不通用,即铁路 ii 的 IC 卡不能用于其他铁路。

你打算在 JOI 国旅行。从城市 P1P_1 出发,按顺序依次访问 P2,P3,,PMP_2, P_3, \ldots, P_M。旅行共持续 M1M-1 天。第 jj 天(1jM11 \leq j \leq M-1),你将从城市 PjP_j 乘坐铁路前往城市 Pj+1P_{j+1}。途中可以换乘多条铁路,也可能多次访问同一城市。JOI 国的铁路很快,任意两城市之间都能在一天内到达。

你现在还没有任何铁路的 IC 卡。你可以事先购买若干铁路的 IC 卡。请你最小化本次旅行的总花费(IC 卡购买费用与乘坐铁路的票价之和)。

输入格式

从标准输入读取以下数据。

  • 11 行包含两个整数 N,MN, M,分别表示 JOI 国有 NN 个城市,旅行共 M1M-1 天。
  • 22 行包含 MM 个整数 P1,P2,,PMP_1, P_2, \ldots, P_M,表示第 jj 天(1jM11 \leq j \leq M-1)从城市 PjP_j 前往城市 Pj+1P_{j+1}
  • 接下来 N1N-1 行,第 ii 行(1iN11 \leq i \leq N-1)包含三个整数 Ai,Bi,CiA_i, B_i, C_i,分别表示铁路 ii 的纸质车票票价 AiA_i,IC 卡票价 BiB_i,以及该铁路 IC 卡的购买费用 CiC_i

输出格式

输出一个整数,表示本次旅行的最小总花费(日元)。

输入输出样例 #1

输入 #1

4 4
1 3 2 4
120 90 100
110 50 80
250 70 130

输出 #1

550

输入输出样例 #2

输入 #2

8 5
7 5 3 5 4
12 5 8
16 2 1
3 1 5
17 12 17
19 7 5
12 2 19
4 1 3

输出 #2

81

说明/提示

任务

给定 JOI 国的城市数量、旅行路线,以及每条铁路的票价和 IC 卡价格,编写程序求出本次旅行的最小总花费。

限制

所有输入数据满足以下条件。

  • 2N1000002 \leq N \leq 100\,000
  • 2M1000002 \leq M \leq 100\,000
  • 1Bi<Ai1000001 \leq B_i < A_i \leq 100\,0001iN11 \leq i \leq N-1)。
  • 1Ci1000001 \leq C_i \leq 100\,0001iN11 \leq i \leq N-1)。
  • 1PjN1 \leq P_j \leq N1jM1 \leq j \leq M)。
  • PjPj+1P_j \neq P_{j+1}1jM11 \leq j \leq M-1)。

子任务

子任务 1 [20 分]

满足以下条件。

  • 2N10002 \leq N \leq 1\,000
  • M=2M = 2
  • 1Bi<Ai10001 \leq B_i < A_i \leq 1\,0001iN11 \leq i \leq N-1)。
  • 1Ci10001 \leq C_i \leq 1\,0001iN11 \leq i \leq N-1)。

子任务 2 [30 分]

满足以下条件。

  • 2N10002 \leq N \leq 1\,000
  • 2M10002 \leq M \leq 1\,000
  • 1Bi<Ai10001 \leq B_i < A_i \leq 1\,0001iN11 \leq i \leq N-1)。
  • 1Ci10001 \leq C_i \leq 1\,0001iN11 \leq i \leq N-1)。

子任务 3 [50 分]

无额外限制。

样例解释 1

在本例中,最优的旅行方案如下:

  • 购买铁路 22 和铁路 33 的 IC 卡,费用为 80+130=21080 + 130 = 210 日元。
  • 11 天,从城市 11 到城市 22 使用纸质车票,再从城市 22 到城市 33 使用 IC 卡,费用为 120+50=170120 + 50 = 170 日元。
  • 22 天,从城市 33 到城市 22 使用 IC 卡,费用为 5050 日元。
  • 33 天,从城市 22 到城市 33 使用 IC 卡,再从城市 33 到城市 44 使用 IC 卡,费用为 50+70=12050 + 70 = 120 日元。

这样,总花费为 210+170+50+120=550210 + 170 + 50 + 120 = 550 日元。由于这是最小值,输出 550550