[JDWOI-1] 蜀道难

题目背景

蜀道难,难于上青天…… 蜀道之所以难,就是因为山路崎岖不平。

题目描述

小 K 和小 M 也模拟了蜀道难。在蜀道难中,有 $n$ 座山,每座山高度为 $h_i$。小 K 和小 M 有 $m$ 种魔法,每一次膜法可以把连续 $l_i$ 座山的高度抬高或压低 $1$,同时消耗 $c_i$ 点体力。 现在,小 K 和小 M 想让蜀道难的 $n$ 座山的高度不下降,这样蜀道就不难了。请问他们最少需消耗多少体力? **注**:所有时候山的高度都不能为负。

输入输出格式

输入格式


第一行两个整数 $n,m$,表示山的数量和膜法数量。 第二行 $n$ 个整数 $h_i$,表示山的高度。 接下来 $m$ 行,每行一个字符和两个整数 $w_i, l_i, c_i$,描述一种膜法(如果 $w_i$ 为 $+$,代表抬高;如果 $w_i$ 为 $-$,代表压低)。

输出格式


一行一个整数,表示最小消耗的体力。 如果无解,输出 $-1$。

输入输出样例

输入样例 #1

3 3
1 3 2
- 1 10
- 2 3
+ 1 1

输出样例 #1

1

说明

### 样例解释 使用 $1$ 体力值将第三座山升高 $1$。 ### 数据范围 - 对于 $10\%$ 的数据,$1\leq n,m \leq 10$; - 对于另外 $30\%$ 的数据,$1\leq n,m \leq 20$; - 对于另外 $10\%$ 的数据,$m=1$; - 对于所有的数据,$1\leq n, m \leq 200$,$1\leq l_i \leq n$,$1\leq h_i, c_i \leq 10^3$。