提高-⏱ 1000ms💾 256MB#P7039🏷️ 图论最短路

题目描述

变量 $x_1..x_n$ 为非负整数,给出 $m$ 条形如 $x_u - x_v \ge c$ 的约束。求在满足全部约束且 $x_i \ge 0$ 的前提下,$\max_i x_i$ 的最小可能值。

输入格式

第一行两个整数 $n, m$(约束条数);接下来 $m$ 行每行 u v c,表示 $x_u - x_v \ge c$。另有隐式约束 $x_i - x_0 \ge 0$($x_0=0$ 虚拟源,即 $x_i \ge 0$)。

输出格式

无解输出 -1;有解输出 $\max_i x_i$ 的最小可能值。

数据范围

$$1 \le n \le 1000,\ 0 \le m \le 4000,\ |c| \le 10^6$$

样例输入 #1
30 39
8 12 86
4 22 0
23 8 82
11 2 10
15 8 60
14 17 26
29 13 81
8 19 4
15 17 32
19 12 -4
17 22 16
3 18 55
16 6 21
7 4 15
15 12 34
13 27 57
20 4 48
23 21 100
4 11 45
16 1 33
25 2 67
26 2 -10
14 21 17
26 1 24
11 19 15
5 11 28
20 22 0
18 3 78
22 20 2
17 5 90
13 4 40
6 22 18
24 20 100
30 1 -1
10 1 20
1 11 58
23 12 18
18 27 36
15 21 3
样例输出 #1
-1
样例输入 #2
14 42
5 2 64
3 7 87
8 5 81
11 14 31
13 11 52
7 11 42
8 11 67
10 14 78
2 9 4
5 7 77
2 12 35
10 2 75
1 7 96
14 9 51
9 11 28
12 5 45
12 7 62
14 3 -10
6 10 -5
11 5 72
4 2 44
12 6 0
12 13 56
10 6 80
12 7 29
10 6 95
8 1 83
14 6 53
6 11 88
12 14 81
1 12 45
2 10 16
1 7 -10
9 8 7
7 9 11
13 6 93
2 4 -6
1 2 24
10 5 -5
6 8 37
8 12 10
10 10 88
样例输出 #2
-1