#P10607. 物理实验 (hard)

    ID: 10006 Type: RemoteJudge 1000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 3 Uploaded By: Tags>贪心洛谷原创O2优化洛谷月赛

物理实验 (hard)

题目背景

莲子为了完善她的论文,决定研究一些物体的物理性质。由于工作实在是太多,她邀请你帮忙完成其中的一个小实验。不过,这次的略微困难一些。

题目描述

这是该题的困难版本,两个版本之间的区别在于小球需要满足的条件不同。该题的满分为 50 分。

莲子有一个初始在数轴 00 点并向数轴正方向移动的小球。莲子在数轴的 11nnnn 个点上设置了装置,当小球经过点 ii 时,她可以花费 aia_i 的代价让其改变移动方向(从数轴正方向切换为负方向,或者相反)。

莲子有 mm 个需要满足的条件,第 ii 个条件形如“小球需要从点 xix_i 移动到点 yiy_i 至少 kik_i 次”,其中 xix_i 大于 yiy_i。更详细的说,该条件即要求小球的移动路径形如 $\ldots\to x_i\to\ldots\to y_i\to\ldots\to x_i\to\ldots\to y_i\to\ldots$,其中从 xix_i 移动到 yiy_i 的过程重复至少 kik_i 次。

莲子想要知道她至少要花费多少代价才能满足所有条件。

输入格式

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

第二行 nn 个正整数描述序列 aa

接下来 mm 行中,第 ii 行依次给出三个正整数表示 xix_i, yiy_ikik_i

输出格式

一行一个整数,表示莲子至少要花费多少代价才能满足所有条件。

3 1
1 2 3
2 1 3
8
5 3
5 2 3 4 5
2 1 1
3 2 2
3 1 1
8

提示

样例解释

上图画出了样例 1 和样例 2 的具体构造方案,可供参考。

样例 #1

莲子让小球在经过点 22 时反转方向,然后让其经过点 11 时再反转方向。重复上述操作两次,最后再在点 22 反转方向恰好能满足所有条件。总花费代价为 88

注意到该样例符合特殊性质 A\mathbf{A}

样例 #2

莲子让小球依次在经过点 33、点 22、点 33 时反转方向。总花费代价为 88

数据范围

本题采用捆绑测试。

$$\def\arraystretch{1.5} \begin{array}{|c|c|c|c|c|c|c|c|}\hline \textbf{Subtask} & \textbf{\textsf{分值}} & \bm{n,m\le } & \bm{a_i\le} & \bm{x_i,y_i\le} & \bm{k_i\le} & \textbf{\textsf{特殊性质}}&\textbf{Subtask \textsf{依赖}}\cr\hline 1 & 10 & 10 & 100 & 10 & 10 & - &-\cr\hline 2 & 5 & 2\times 10^5 & 10^8 & 2\times 10^5 & 10^8 & \mathbf{A}&- \cr\hline 3 & 15 & 10^3 & 10^8 & 10^3 & 10^5 & -&1 \cr\hline 4 & 20 & 2\times 10^5 & 10^8 & 2\times 10^5 & 10^8 & -&1,2,3 \cr\hline \end{array} $$

特殊性质 A\mathbf{A}:所有的 kik_i 均相等。

对于所有数据满足:1n,m2×1051\le n,m\le 2\times 10^51ai1081\le a_i\le 10^81yi<xin2×1051\le y_i< x_i \le n\le 2\times 10^51ki1081\le k_i\le 10^8