#P2606. 负无穷大

负无穷大

题目描述

你有一个长度为 nn (1n105)(1 \leq n \leq 10^5) 的数组 a1,a2,,ana_1, a_2, \ldots, a_n (ai1104)(|a_i| \leq 1\cdot 10^4) 和一个整数 kk (k109)(|k| \leq 10^9)。要执行 nn 次操作,每次操作会将 apia_{p_i} 修改为 1010-10^{10},保证每次修改的位置都是不同的。在每次操作之前,你想知道所有的区间里面,权值和与 kk 最接近的是多少。也就是你要找到一个区间 [i,j](1ijn)[i, j] (1 \leq i \leq j \leq n),使得 t=ijatk\left| \sum_{t=i}^{j} a_t - k \right| 最小,输出这个最小的绝对值。

输入格式

第一行两个整数 n,kn, k

接下来一行 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n

接下来一行 nn 个整数 p1,p2,,pnp_1, p_2, \ldots, p_n

输出格式

输出 nn 行,每行一个数表示答案。

样例

5 5
1 2 3 4 5
1 4 5 2 3
0
0
0
0
2