#P1158. 排班不等式

    ID: 170 传统题 1000ms 128MiB 尝试: 0 已通过: 0难度: 普及+/提高− ← 上一题 下一题 → 随机一题 上传者: 标签 图论 差分约束 最短路 Bellman-Ford 建模
显示设置

排班不等式

题目描述

一家工厂要在 nn 个车间里依次启动设备,用 tit_i 表示第 ii 个车间的启动时刻。启动必须按照车间编号往后推进,即对每个 1≤i<n1\le i<n 都有

ti+1≥tit_{i+1}\ge t_i

除此之外,工艺上还给出了 mm 条要求,每条要求形如「第 vv 个车间至少比第 uu 个车间晚 cc 启动」,也就是

tv−tu≥ct_v-t_u\ge c

请判断这些要求能不能同时满足。如果可以,输出 tn−t1t_n-t_1 的最小可能值;如果要求互相矛盾(不可能同时满足),输出 −1-1。

输入格式

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

接下来 mm 行,每行三个整数 u,v,cu,v,c,含义如上。

输出格式

一行一个整数,表示 tn−t1t_n-t_1 的最小可能值,或 −1-1。

输入输出样例 #1

输入 #1

4 3
1 2 5
2 4 3
1 3 10

输出 #1

10

说明

数据范围

  • 对于 100%100\% 的数据,2≤n≤20002\le n\le 2000,0≤m≤1040\le m\le 10^4,1≤u,v≤n1\le u,v\le n,u≠vu\ne v,1≤c≤1041\le c\le 10^4。

时刻可以取任意整数(可以为负),只要满足所有要求即可。