题目描述
原题来自:USACO 2005 Dec. Gold
FJ 有 N 头奶牛 (2≤N≤1000),编号为 1…N。奶牛们将按照编号顺序排成一列队伍(可能有多头奶牛在同一位置上)。换句话说,假设 i 号奶牛位于 Pi,则 P1≤P2≤…≤PN。
有些奶牛是好基友,它们希望彼此之间的距离小于等于某个数。有些奶牛是情敌,它们希望彼此之间的距离大于等于某个数。
给出 ML 对好基友的编号,以及它们希望彼此之间的距离小于等于多少;又给出 MD 对情敌的编号,以及它们希望彼此之间的距离大于等于多少 (1≤ML, MD≤104)。
请计算:如果满足上述所有条件,1 号奶牛和 N 号奶牛之间的距离(PN−P1)最大为多少。
输入格式
第一行:三个整数 N,ML,MD,用空格分隔。
第 2…ML+1 行:每行三个整数 A,B,D,用空格分隔,表示 PB−PA≤D。
第 ML+2…ML+MD+1 行:每行三个整数 A,B,D,用空格分隔,表示 PB−PA≥D。
保证 1≤A<B≤N, 1≤D≤106。
输出格式
一行,一个整数。如果没有合法方案,输出 -1. 如果有合法方案,但 1 号奶牛可以与 N 号奶牛相距无穷远,输出 -2. 否则,输出 1 号奶牛与 N 号奶牛间的最大距离。
样例
4 2 1
1 3 10
2 4 20
2 3 3
27
这四头牛分别位于 0,7,10,27。
数据范围与提示
对于全部数据,2≤N≤1000,1≤ML,MD≤104,1≤L,D≤106。