#P17286. [2024年南开中学集训]隧道

[2024年南开中学集训]隧道

题目描述

山城作为陪都,被进行了长达 66 年又 1010 个月的无差别轰炸,轰炸形成了一个巨大迷宫。这个迷宫一共有 nn 个洞穴,洞穴之间有很多单向隧道。经过分析,可以发现:这些隧道能被分为 mm 组,对于每一组,编号在区间 [sl,sr][s_l,s_r] 内的每一个洞穴,与编号在区间 [tl,tr][t_l,t_r] 内的每一个洞穴之间,都有一条隧道,每组内共有 (srsl+1)(trtl+1)(s_r-s_l+1)\cdot(t_r-t_l+1) 条隧道,通过同组内每一条隧道的时间都相等。

为了进一步节约时间,小 Z 可以挖掘新的隧道,但是,每个洞穴的性质不同,导致挖掘隧道的难度不同,有些洞穴甚至无法挖掘隧道。具体来说,第 ii 个洞穴有一个值 viv_ivi=0v_i=0 表示无法挖掘隧道,对于其它值,表示从第 ii 个洞穴开始,挖掘一条到第 jj 个洞穴的隧道,并到达第 jj 个隧道,需要花费 ijvi|i-j|\cdot v_i 时间。

小 Z 希望在最短时间内到达第 nn 个洞穴,决定不限制挖掘隧道的数量,现在,你需要告诉小 Z 最少需要用的时间。

简化题意: 存在 nn 个点和两种有向边:

  • 一类边分 mm 组,每组的边权相同,从 [sl,sr][s_l,s_r] 中的所有点连向 [tl,tr][t_l,t_r] 中的所有点。
  • 二类边存在于任意两点 i,ji,j 间,从 ii 连向 jj 的二类边的边权为 ij×vi|i-j|\times v_i。注意:vi=0v_i=0 表示 ii 不能连向其他点。

求从点 11 到点 nn 的最短路。

输入格式

第一行两个整数 n,mn,m

接下来一行 nn 个整数 v1,v2,,vnv_1,v_2,\ldots,v_n

接下来 mm 行,每行描述一组隧道。

每行 55 个整数 sl,sr,tl,tr,ws_l,s_r,t_l,t_r,w,其中 ww 表示通过时间。

输出格式

如果无解,则只需输出一行一个整数 -1

如果有解,则输出一行一个整数 tt,表示最少花费的时间。

样例输入

6 2
0 1 2 0 0 0
1 1 2 3 5
4 5 6 6 2

样例输出

9

样例解释

11 号到 22 号走第一组隧道,22 号到 66 号挖掘隧道,用时 1×(62)=41\times(6-2)=4

也可以,11 号到 33 号走第一组隧道,33 号到 44 号挖掘隧道,用时 2×(43)=22\times(4-3)=244 号到 66 号走第二组隧道。

数据范围

对于 100%100\% 的数据,有 1w,vi1091\le w,v_i\le10^9

子任务 限制 分值
子任务 1 n100, m100n\le100,\ m\le100 5 分
子任务 2 n3000, m3000n\le3000,\ m\le3000 10 分
子任务 3 n50000, m50000n\le50000,\ m\le50000,所有 vi{0,k}v_i\in\{0,k\}kk 为常数 11 分
子任务 4 n50000, m50000n\le50000,\ m\le50000vi=0v_i=0 10 分
子任务 5 n50000, m=0n\le50000,\ m=0 12 分
子任务 6 n50000, m=1n\le50000,\ m=1
子任务 7 n50000, m20n\le50000,\ m\le20,所有 sl=sr, tl=trs_l=s_r,\ t_l=t_r 13 分
子任务 8 n50000, m20n\le50000,\ m\le20
子任务 9 n50000, m50000n\le50000,\ m\le50000 14 分