题目描述
星港的主反应堆由 n 根控制棒共同维持稳定。第 i 根控制棒需要被调到一个整数能级 ai。由于材料窗口限制,如果最终满足
li≤ai≤ri
则称第 i 根控制棒处于高效状态;否则它仍可参与配平,但不能计入高效数量。注意,ai 可以是任意整数,不要求落在 [−109,109] 内。
反应堆中还有 m 条配平约束。每条约束形如 (x,y,z),表示最终必须满足
ax+ay=z.
请你判断是否存在一组整数能级满足所有配平约束。若不存在,输出 −1;否则,输出在满足所有约束的前提下,最多能让多少根控制棒处于高效状态。
输入格式
第一行包含一个整数 T,表示测试数据组数。
对于每组测试数据:
- 第一行包含两个整数 n,m。
- 第二行包含 n 个整数 l1,l2,…,ln。
- 第三行包含 n 个整数 r1,r2,…,rn。
- 接下来 m 行,每行包含三个整数 x,y,z,表示一条约束 ax+ay=z。
输出格式
对于每组测试数据,输出一行一个整数:
- 若不存在任何整数能级方案满足所有约束,输出 −1;
- 否则输出最多能处于高效状态的控制棒数量。
样例
输入
2
3 3
1 2 3
1 2 3
1 1 2
2 2 10
1 1 4
3 2
1 2 3
1 2 3
1 1 2
2 2 10
输出
-1
2
样例解释
第一组数据中,约束要求 a1=1,a2=5,同时又要求 a1=2,互相矛盾,所以无解。
第二组数据中,约束要求 a1=1,a2=5,可以任选 a3。令 a3=3 时,第 1 根和第 3 根控制棒处于高效状态,答案为 2。
数据范围
对于所有测试数据,满足:
- 1≤T≤10;
- 1≤n≤2×105;
- 0≤m≤4×105;
- −109≤li≤ri≤109;
- 1≤x,y≤n;
- −109≤z≤109;
- 所有测试数据中,n 的总和与 m 的总和均不超过 4×105。
子任务
| 子任务 |
分值 |
特殊限制 |
| 1 |
10 |
n≤8,m≤12,且所有 li=ri |
| 2 |
15 |
所有约束均满足 x=y |
| 3 |
20 |
忽略方向后,约束图是一片森林,且不存在 x=y |
| 4 |
忽略方向后,约束图是二分图,且不存在 x=y |
| 5 |
35 |
无额外限制 |
限制
时间限制:1s。
空间限制:512MB。