找工作
时间限制:1秒 内存限制:256M
【题目描述】
奶牛们没钱了,正在找工作。FJ知道后,希望奶牛们四处转转,碰碰运气。而且他还加了一条要求:一头奶牛在一个城市最多只能赚 \(D\) 美圆,然后他必须到另一座城市工作。当然,他可以在别处工作一阵又回来到原来的城市再多赚 \(D\) 美圆。而且这样往往返返的次数没有限制。
城市间 \(P\) 条单向道路连接,共有 \(N\) 座城市。贝西当前在城市 \(S\)。道路 \(i\) 从城市 \(A_i\) 到城市 \(B_i\),在道路上行走不用花费任何费用。
为了帮助贝西,FJ让他使用他的私人飞机,飞机有 \(F\) 条航线,第 \(j\) 条航线是从城市 \(A_j\) 到城市 \(B_j\),费用是\(T_j\) 美圆,如果贝西手中没有现钱,可以用以后赚的钱来付机票钱,贝西可以选择任何时候,任何城市退休。
如果在工作时间上不作限制,贝西总共可以赚多少钱呢?如果赚的钱不会出现限制,就输出 INF
【输入格式】
第 1 行:5 个空格分开的整数 \(D,P,N,F,S\)。
第 2 到第 \(P+1\) 行:第 \(i+1\) 行包含 \(2\) 个空格分开的整数,表示从 \(A_i\) 到 \(B_i\) 的单向道路。
第 \(P+2\) 到 \(P+F+1\) 行:第 \(P+j\) 包括 3 个空格分开的整数,表示一条从 \(A_j\) 到 \(B_j\) 的单向航线,费用为 \(T_j\)。
【输出格式】
在上述规则下得最多可赚得钱数。
【输入输出样例1】
Input
100 3 5 2 1
1 5
2 3
1 4
5 2 150
2 5 120
Output
250
【输入输出样例2】
Input
100 3 5 2 1
1 5
2 3
1 4
5 2 70
2 5 120
Output
INF
【数据限制】
\(100\%\) 的数据满足,\(0<D≤1000\),\(1≤P≤150\),\(2≤N≤300\),\(1≤F≤350\),\(1≤T_j≤50000\)。
【来源】
Mr.he