C0839 [ZJOI2013]防守战线

内存限制:256 MB 时间限制:1000 ms

题目描述

战线可以看作一个长度为 $n$ 的序列,现在需要在这个序列上建塔来防守敌兵,在序列第 $i$ 号位置上建一座塔有 $C_i$ 的花费,且一个位置可以建任意多的塔费用累加计算。有 $m$ 个区间 $[L_1, R_1], [L_2, R_2], …, [L_m, R_m]$,在第 $i$ 个区间的范围内要建至少 $D_i$ 座塔。求最少花费。

输入格式

第一行为两个数 $n,m$。

接下来一行,有 $n$ 个数,描述 $C$ 数组。

接下来 $m$ 行,每行三个数 $L_i,R_i,D_i$,描述一个区间。

输出

仅包含一行,一个数,为最少花费。

样例

样例输入 1

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

样例输出 1

11

提示

【样例说明】

位置 $1$ 建 $2$ 个塔,位置 $3$ 建一个塔,位置 $4$ 建一个塔。花费 $ 1 \times 2+6+3=11$。

【数据规模与约定】

对于 20% 的数据,$n≤20,m≤20$。

对于 50% 的数据(包括上部分的数据),$D_i$ 全部为 $1$。

对于 70% 的数据(包括上部分的数据),$n≤100,m≤1000$。

对于 100% 的数据,$n≤1000,m≤10000,1≤L_i≤R_i≤n$,其余数据均 $≤10000$。