#P664. 路径问题

路径问题

题目描述

给定一张 nn 个点的有向图,每个点有且只有一个后继,第 ii 个点的后继编号为 tit_i,从 ii 到 tit_i 的边权重为 wiw_i。

给定一个整数 kk,依次从每个点出发,沿着图中给定的后继前进,经过 kk 条边后停止,请分别求出从每个点出发的路径上经过的最大权重。

输入格式

第一行:两个整数表示 nn 与 kk; 第二行:nn 个整数表示 t1,t2,…,tnt_1,t_2,\dots,t_n; 第三行:nn 个整数表示 w1,w2,…,wnw_1,w_2,\dots,w_n。

输出格式

共 nn 行,其中第 ii 行表示从 ii 号点出发,经过 kk 条边后停止时,路径上的最大权重。

6 4
2 3 1 5 4 1
10 20 30 40 50 60
30
30
30
50
50
60

样例解释 1

123与45分别形成一个圈

数据范围

  • 对于 50%50\% 的数据,1≤n,k≤20001\leq n, k\leq 2000,
  • 对于 100%100\% 的数据,1≤n,k≤500,0001\leq n, k\leq 500,000,
  • 1≤wi≤1,000,000,0001\leq w_i\leq 1,000,000,000