小 A 所在的省份终于修建了第 1 条高铁,这让经常出差的小 A 非常开心,终于可以提升出行的效率了。
这条高铁途经 N 个城市,由于高铁刚刚建成,城市之间的票务系统还没有全部连网,因此乘坐高铁经过两个相邻的城市,必须单独购票。第 i 段高铁连接了第 i 个城市和第 i+1 (1 \leq i < N) 个城市,第 i 段高铁购买车票需要支付 A_i 元。
比如:小 A 想从 1 号城市去 3 号城市,他需要先购买 1 号城市到 2 号城市的高铁票,再购买 2 号城市到 3 号城市的高铁票。当然,高铁是双向的,目前相邻的两个城市往返的车票价格相同。
为了方便一些频繁出差的乘客出行,每个路段也推出了高铁卡。对于第 i 段高铁,如果乘客想刷高铁卡,需要先支付 C_i 元的工本费购买一张卡,然后每次乘坐这段高铁,需要支付 B_i(B_i < A_i) 元的高铁费用。
每个路段的高铁卡可以提前购买,购卡很方便,任意路段的高铁卡在任意城市都能买到。但请注意,工本费不能退,也不能购买车票。每张卡都可以充值任意数额。对于第 i 段高铁的高铁卡,无法乘坐别的路段的高铁。
现已知小 A 某次出行要访问的所有城市,他先从 P_1 城市出发,分别按照 P_1,P_2,P_3,\cdots,P_M 的顺序访问各个城市,可能会多次访问同一个城市,但要注意他要访问的 P_i 和 Pi+1 不一定是相邻的 2 个城市(比如:从 1 号城市去 3 号城市)。当然, P_i 和 Pi+1 一定不可能是同一个城市。
小 A 是一个节俭的人,希望尽可能少花钱在路费上。请帮助小 A 计算一下,他本次出差,至少要花多少钱在高铁上。这个费用可能包括:购买车票、高铁卡、高铁卡充值的总费用。
第一行两个整数,N,M。
接下来一行,M 个数字,表示 P_i。
接下来 N-1 行,表示第 i 段高铁的 A_i,B_i,C_i。
一个整数,表示小 A 本次出差的最少花费。
4 4 1 3 1 4 200 150 50 300 250 100 300 290 20
1650
9 10 3 1 4 1 5 9 2 6 5 3 200 100 50 300 299 100 500 200 500 345 234 123 100 50 100 600 100 1 450 400 80 2 1 10
6394
从 城市 1 到城市 3 需要经过第 1 、 2 段高铁;
从 城市 3 到城市 1 需要经过第 2 、 1 段高铁;
从 城市 1 到城市 4 需要经过第 1 、 2、 3 段高铁;
分析可知第 1 段高铁需要走 3 次,第 2 段高铁需要走 3 次,第 3 段高铁需要走 1 次。
对于第 1 段高铁,如果每次买票需要消费 3 \times 200 元,如果买高铁卡需要消费 50 + 3 \times 150;刷卡更划算,共需 500 元。
对于第 2 段高铁,如果每次买票需要消费 3 \times 300 元,如果买高铁卡需要消费 100 + 3 \times 250;刷卡更划算,共需 850 元。
对于第 3 段高铁,如果每次买票需要消费 1 \times 300 元,如果买高铁卡需要消费 20 + 1 \times 290;买票更划算,共需 300 元。
因此最低总消费 =500+850+300=1650 元。
2 到 3 以及 8 到 9 买票,其余买卡。
对于 30\% 数据,满足 M=2。
对于另外 60\% 数据,满足 N\leq1000,M\leq1000。
对于 100\% 的数据,满足 M,N\leq 10^5,A_i,B_i,C_i\le10^5,B_i < A_i,1 \le P_i \le N。