#P4814. [CCO2014] 国王格鲁夫
[CCO2014] 国王格鲁夫
题目描述
本题译自 CCO 2014 Day1 T2「King Gruff」
狼国王格鲁夫统治着一个居住着可爱的狐狸的繁荣、快乐的领地。对狐狸们来说,不幸的是,他根本不是一个好国王,而且还想让他们的生活过得很惨。
他的国家有 个城市,由 条路连接,第 条路可以让你从城市 走到另一个城市 ,并且只能往这个方向走,这条路的长度为 ,关闭费为 ,可能会有多条道路以相同的方向连接着两个相同的城市。
国王格鲁夫尤其不喜欢住在两个不同城市 和 里的狐狸并且想让他们从城市 到城市 很麻烦甚至根本行不通。具体来说,他将选择一个距离 ,并且同时关闭某些他王国里的路。关闭的条件是,如果这条路是城市 到城市 路径上的一部分且该路径总长不超过 。对于每条这样的路,他将用皇家金库里的钱取支付它的关闭费。一个路径包含一个路的序列,除了第一条路外,每条路起点在前一条路的终点,并且可能多次访问同一个城市或走同一条路。
格鲁夫正在纠结选哪个 ,不管怎样,大一些的 值可以使得他的狐狸子民更加不方便,但是可能花费他更多的钱!因此,他想了 个不同的值 ,对于每一个值,他想知道需要花费多少来满足他的要求。因为你也不喜欢狐狸,你同意帮他写个程序计算最小花费。
输入格式
第一行包括四个由空格分隔的整数 ,城市数,道路数,开始城市,结束城市。
接下来 行四个空格分隔的整数 ,表示一条从 到 的长为 的路,它的关闭费为 。
接下来一行一个数 ,表示询问个数。
接下来 行包含一个数 表示题中所述距离参数。
输出格式
输出包括 行,表示根据距离参数 求出的关闭所有必要的路的总花费。
4 5 1 3
1 2 5 1
1 2 8 50
2 3 2 15
3 1 80 1000
3 4 1 1
4
8
6
90
94
16
0
66
1066
4 3 1 2
2 1 1 1
3 4 10000 10000
4 3 10000 10000
1
1000000000
0
提示
王国如下图所示,每条路只标注了长度。
如果 ,第一、三条路需要被关闭,他们都是从城市 到 城市 的长为 的路径的一部分,总花费 。
如果 ,不需要关闭任何路,因为没有从城市 到城市 的路长度小于或等于 。
如果 ,前三条路都要被关闭。
如果 ,第四条路也要被关闭,因为它在城市 到城市 的路径上,该路径长度刚好为 ,路径为依次走第一、三、四、一、三条路。
王国如下图所示
就像你所看到的一样,狐狸已经有麻烦了,因为这里根本没有从城市 到城市 的路径,因此对于任何 格鲁夫国王都不需要关闭任何道路。
对于至多 的数据,;
对于至多 的数据,;
对于至多 的数据,;
对于 的数据, 。