[Usaco2009 Nov]找工作
奶牛们手头拮据,正在四处寻找工作。农夫约翰希望它们前往不同的城市碰碰运气,但有一项限制:一头奶牛每次在一座城市中最多只能赚取 美元,之后必须前往另一座城市工作。它可以在其他城市工作一段时间后返回原来的城市,并再次赚取最多 美元,往返次数不受限制。
共有 座城市,编号为 到 ,城市之间有 条单向道路。第 条道路从城市 通往城市 ,通过道路不需要支付任何费用。贝希当前位于城市 。
此外,农夫约翰还向贝希提供私人飞机服务。共有 条单向航线,第 条航线从城市 飞往城市 ,费用为 美元。即使贝希当前没有足够的现金,也可以先乘坐飞机,之后用工作所得支付费用。
贝希可以在任意时刻、任意城市退休。在工作时间不受限制的情况下,请计算贝希最多可以赚取多少钱。如果贝希可以赚取的钱没有上限,输出 。
输入格式
第一行包含 个以空格分隔的整数 。
接下来 行,每行包含 个以空格分隔的整数 ,表示一条从城市 到城市 的单向道路。
接下来 行,每行包含 个以空格分隔的整数 ,表示一条从城市 到城市 、费用为 美元的单向航线。
输出格式
输出一个整数,表示贝希最多可以赚取的钱数。如果可以赚取的钱没有上限,输出 。
样例输入
100 3 5 2 1
1 5
2 3
1 4
5 2 150
2 5 120
样例输出
250
样例解释
贝希可以依次经过城市 、、、。它在这 座城市中共赚取 美元,并支付从城市 飞往城市 的 美元机票费用,因此最终赚取:
美元。
数据范围
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- 。
来源与许可
本题为 USACO 2009 November 试题「Job Hunt」,题面与测试数据整理自 BZOJ 2019。
样例 1
输入
100 3 5 2 1
1 5
2 3
1 4
5 2 150
2 5 120
输出
250