#870. [CZOJ 一周一测 R9 E] Running on the Graph

[CZOJ 一周一测 R9 E] Running on the Graph

题目描述

小 C 所在的地方有 nn 个城市,n2n^2 个公路,第 ii 个城市到第 jj 个城市有一个单向公路,小 C 通过这个公路需要花费 ai,ja_{i,j} 单位时间。每个城市都有繁华程度 cic_i

小 C 若从一个城市到另一个城市,小 C 会在路径上繁华程度最大的城市 kk,停留 ckc_k 单位时间,同时,小 C 想要使经过的时间尽可能短

你需要输出小 C 任意两个城市间所花费的时间,保证一定存在一条路径。

输入格式

第一行一个整数 nn,表示城市数量。

第二行 nn 个整数 cic_i,表示城市的繁华程度。

接下来 nn 行,每行 nn 个数 ai,ja_{i,j},第 ii 行第 jj 列表示有一条从 iijj 的单向道路,小 C 通过这个公路需要花费 ai,ja_{i,j} 单位时间。

输出格式

输出共 nn 行,每行 nn 个整数,第 ii 行第 jj 列表示小 C 从第 ii 个城市到第 jj 个城市所花时间。

4
2 4 3 6
2 1 8 4
7 3 6 3
5 8 2 9
3 9 2 1
2 5 11 10
11 4 10 9
8 10 3 15
9 10 8 6

提示

n500,ci1018,w1016n\le 500, c_i\le 10^{18}, w\le 10^{16}

Subtask nn cic_i 分值
00 无特殊限制 ci=1c_i=1 55
11 ci2c_i\le 2 1515
22 n10n \le 10 无特殊限制
33 n70n \le 70 2525
44 无特殊限制 4040