时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
呜米与咩栗很喜欢吃海底捞,这一天她们两个得到了一份地图。
这份地图上有N个标识点,以及M条路,连接着这N个标注点(不一定每个标注点都有和其他标注点相连的路线)。(出题人没见过只能单向的路)
每个标注点都有着一个独有的数字标识。
当然这份地图珍贵在于,地图上标注了全城所有的海底捞共H个。并且给出了每家店的评分。
呜米与咩栗的家的数字标识为SM。
每家店总有吃腻的一天,所以咩栗给出了她希望的每家店最多可以去的次数CS,并且每吃一次,都要回家一次。
因为众所周知的原因,呜米是光脚出门的,并且每走一米产生痛苦值K。
咩栗想要知道在呜米喵可以承受的最大痛苦值总和KUP内,可以吃到的海底捞的评分和最大是多少?
因为咩栗是钢板不会这个问题。所以她吧所有的数据整理成了一下,向你们求助。
注意:如果不存在能够在痛苦值上限KUP内到达的店铺 请输出-1
(出题人没见过只能单向的路)
输入描述:
第一行 六个整数 N M SM H K KUP 对应上文
第二行 H个整数 代表了所有为海底捞的数字标识Z。
第三行 H个整数 为对应了第二行同位置的海底捞的评分W。
)
第四行 H个整数 为对应了第二行同位置的海底捞的最多可去次数CS。
以下M行 每行三个整数表示了 A标识点 到 B标识点 有一条长为C的路 (A与B给出的都是上文提到的数字标识)
输出描述:
输出两行
第一行 吃过的海底捞评分的和的最高值
第二行 呜米在海底捞评分的和的最高值的情况下,产生的痛苦值最小是多少
如果不存在能够在痛苦值上限KUP内到达的店铺 请输出-1
示例1
输入
复制
4 6 1 2 1 120
3 2
9 9
1 5
1 2 2
2 3 2
2 4 1
1 3 5
3 4 3
1 4 4
示例2
输入
复制
4 6 1 2 1 7
3 2
9 9
1 5
1 2 2
2 3 2
2 4 1
1 3 5
3 4 3
1 4 4
示例3
输入
复制
4 6 10 2 1 700
3 2
9 9
1 5
10 2 22
2 3 26
2 4 10
10 3 58
3 4 34
10 4 466