CF702E.Analysis of Pathes in Functional Graph
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:512MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a functional graph. It is a directed graph, in which from each vertex goes exactly one arc. The vertices are numerated from 0 to n - 1.
Graph is given as the array _f_0, _f_1, ..., f__n - 1, where f__i — the number of vertex to which goes the only arc from the vertex i. Besides you are given array with weights of the arcs _w_0, _w_1, ..., w__n - 1, where w__i — the arc weight from i to f__i.
The graph from the first sample test.
Also you are given the integer k (the length of the path) and you need to find for each vertex two numbers s__i and m__i, where:
- s__i — the sum of the weights of all arcs of the path with length equals to k which starts from the vertex i;
- m__i — the minimal weight from all arcs on the path with length k which starts from the vertex i.
The length of the path is the number of arcs on this path.
你被给定一个函数图(functional graph)。它是一个有向图,其中每个顶点恰好引出一条有向边。顶点编号为 0 到 n−1。
该图以数组 f0,f1,…,fn−1 给出,其中 fi 表示从顶点 i 出发的唯一有向边所指向的顶点编号。此外,你还被给定一个边权数组 w0,w1,…,wn−1,其中 wi 表示从顶点 i 指向 fi 的那条边的权重。
第一个样例测试中的图。
同时,你被给定一个整数 k(路径长度),你需要对每个顶点 i 计算两个数 si 和 mi,其中:
- si —— 从顶点 i 出发、长度恰好为 k 的路径上所有边的权重之和;
- mi —— 从顶点 i 出发、长度为 k 的路径上所有边的权重的最小值。
路径的长度定义为该路径所包含的边的数量。
输入格式
The first line contains two integers n, k (1 ≤ n ≤ 105, 1 ≤ k ≤ 1010). The second line contains the sequence _f_0, _f_1, ..., f__n - 1 (0 ≤ f__i < n) and the third — the sequence _w_0, _w_1, ..., w__n - 1 (0 ≤ w__i ≤ 108).
第一行包含两个整数 n 和 k(1≤n≤105,1≤k≤1010)。第二行包含序列 f0,f1,…,fn−1(0≤fi<n),第三行包含序列 w0,w1,…,wn−1(0≤wi≤108)。
输出格式
Print n lines, the pair of integers s__i, m__i in each line.
输出 n 行,每行包含一对整数 s__i 和 m__i。
输入输出样例
输入#1
7 3 1 2 3 4 3 2 6 6 3 1 4 2 2 3
输出#1
10 1 8 1 7 1 10 2 8 2 7 1 9 3
输入#2
4 4 0 1 2 3 0 1 2 3
输出#2
0 0 4 1 8 2 12 3
输入#3
5 3 1 2 3 4 0 4 1 2 14 3
输出#3
7 1 17 1 19 2 21 3 8 1
输入解题思路,AI测评打分。不知道怎么写?