Files
2019-03-15 13:47:54 +04:00

46 lines
909 B
Java

package chelper;
import io.InputReader;
import io.OutputWriter;
import misc.SimpleSavingChelperSolution;
public class B extends SimpleSavingChelperSolution {
public void solve(int testNumber, InputReader in, OutputWriter out) {
wrapSolve(testNumber, in, out);
}
@Override
public void solve(int testNumber) {
int n = in.nextInt();
int k = in.nextInt();
int[] link = new int[n];
for (int i = 0; i < n; i++) {
link[i] = in.nextInt() - 1;
}
int[] dp = new int[n];
for (int i = 0; i < n; i++) {
int l = Math.max(0, i - k);
int r = Math.min(i + k, n - 1);
dp[i] = r - l + 1;
if (link[i] != -1) {
int ll = Math.max(0, link[i] - k);
int rr = Math.min(link[i] + k, n - 1);
dp[i] += dp[link[i]] - Math.max(0, rr - l + 1);
}
}
for (int i = 0; i < n; i++) {
out.print(dp[i] + " ");
}
}
}