时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
scimoon 有一个长度为 n 的数列
一个不幸的事实是,这个数列里的数非常地混乱,scimoon 想让它变得工整
scimoon 现在有 m 种操作,第 i 种操作可以把

之间的数全部加一或减一,但是,要使用它就必须先支付

的费用,然后就可以无限制次数地使用这种操作
scimoon 想要知道,对于
任意长度为 n 的数列,是否存在一种选择操作的方式,可以通过使用这些操作,使得所有数列中的数都等于 0
scimoon 并不富有,因此如果有解,他还想要知道最少支付多少费用
输入描述:
第一行两个整数 n,m,表示数列长度和操作个数
接下来 m 行,每行三个整数
,意义见题目描述
输出描述:
如果不存在一种选择操作的方式,输出 -1
否则输出最少支付的费用
示例1
输入
复制
2 3
1 2 3
1 1 100
2 2 101
示例2
输入
复制
5 4
1 1 1
2 2 1
3 3 1
4 4 1
备注:

