Cedyks 是九条可怜的好朋友(可能这场比赛公开以后就不是了),也是这题的主人公。
Cedyks 是一个富有的男孩子。他住在著名的 The Place(宫殿)中。
Cedyks 是一个努力的男孩子。他每天都做着不一样的题来锻炼他的 The Salt (灵魂)。这天,他打算在他的宫殿外围修筑一道城墙,城墙上有
城墙很快就修建好了,现在 Cedyks 开始计划修筑他的宫殿到城墙的道路。因为这题的题目名称,Cedyks 打算用他的宫殿到每一个瞭望塔的最短道路之和来衡量一个修建计划。
现在 Cedyks 手上有
计算到每一个瞭望塔的最短路之和是一个繁重的工程,本来 Cedyks 想用广为流传的 SPFA 算法来求解,但是因为他的 butter (缓冲区)实在是太小了,他只能转而用原始的贝尔福特曼算法来计算,算法的流程大概如下:
- 定义宫殿是
号点,第 个瞭望塔是 号点,双向边 为一条连接 和 的双向道路。令 为距离数组,最开始 。 - 令辅助数组
。依次对于每一条边 进行增广, , 。 - 令
为 和 中不一样的位置个数,即令 ,则 。若 ,说明 就是最终的最短路,算法结束。否则令 ,回到第二步。
因为需要计算的设计方案实在是太多了,所以 Cedyks 雇佣了一些人来帮他进行计算。为了避免这些人用捏造出来的数据偷懒,他定义一个设计方案的校验值为在这个方案上运行贝尔福特曼算法每一次进入第三步
你是 Cedyks 雇佣来的苦力之一,聪明的你发现在这个情形下计算最短路的长度的和是一件非常简单的事情。但是寄人篱下不得不低头,你不得不再计算出每一个方案的校验值来交差。
输入格式
第一行输入两个整数
接下来一行
接下来
输出格式
对于每一个设计方案,输出一行一个整数表示校验值。
样例一
input
5 5 2 3 1 4 1 2 2 2 1 1 4 10 3 1 1 3 1 5 1 3 1 10 2 100 5 1 5 1 1 2 1 3 1 4 1 5 1
output
5 8 5 8 5
explanation
对于第一个设计方案,每一个阶段
。
因此校验值为
对于第二个设计方案,每一个阶段
。
因此校验值为
对于第三个设计方案,每一个阶段
。
因此校验值为
对于第四个设计方案,每一个阶段
。
因此校验值为
对于第五个设计方案,每一个阶段
因此校验值为
限制与约定
测试点编号 | 其他约定 | ||
---|---|---|---|
无 | |||
无 | |||
无 |
对于
对于
时间限制: 3s
空间限制: 512MB