#P1166. 温度区间

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

温度区间

题目描述

冷库里有 nn 个温控探头,第 ii 个探头的读数为整数 tit_i。

校准记录中有 mm 条关系,第 jj 条形如「tvt_v 至少比 tut_u 高 cc」或「tvt_v 至多比 tut_u 高 cc」,用 tjt_j 区分:

  • tj=0t_j=0:tv−tu≥ct_v-t_u\ge c;
  • tj=1t_j=1:tv−tu≤ct_v-t_u\le c。

cc 可以为负数,表示「低 ∣c∣|c| 度」。

请判断是否存在满足全部关系的整数读数:

  • 若关系互相矛盾,输出 −1-1;
  • 若存在满足关系的读数,但 tn−t1t_n-t_1 可以任意大,输出 −2-2;
  • 否则输出 tn−t1t_n-t_1 的最大可能值。

输入格式

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

接下来 mm 行,每行四个整数 u,v,c,tu,v,c,t,含义如上。保证 1≤u,v≤n1\le u,v\le n,u≠vu\ne v。

输出格式

一行一个整数,含义见题面。

输入输出样例 #1

输入 #1

3 3
1 2 0 0
2 3 0 0
1 3 5 1

输出 #1

5

输入输出样例 #2

输入 #2

2 2
1 2 1 0
1 2 0 1

输出 #2

-1

输入输出样例 #3

输入 #3

3 1
1 2 0 0

输出 #3

-2

说明

样例 11 中 t2≥t1t_2\ge t_1,t3≥t2t_3\ge t_2,t3≤t1+5t_3\le t_1+5,故 t3−t1t_3-t_1 最大为 55。

数据范围

  • 对于 100%100\% 的数据,2≤n≤10002\le n\le 1000,0≤m≤50000\le m\le 5000,∣c∣≤109|c|\le 10^9。