#P2079. 2024.9.14-MT-第5题-小塔玩游戏

2024.9.14-MT-第5题-小塔玩游戏

题目内容

​ 小塔正在一张有向但定连通的图上玩游戏。这张图包含nn个点,第ii个点的权值为aa,当小美从ii移动到 NextiNext_i时,游戏规则如下:

  • 如果aNeati>aiaNeat_i>ai,小美的金币将增加xx;

  • 如果aNextiaiaNext_i≤ai,小美的金币将增加yy

    小塔会提出qq次询问,每个询问从某个点uu出发,移动不超过kk步,最多能获得多少金币。

输入描述

​ 第一行输入四个整数n,q,x,y(1n,q2×105,106x,y106)n,q,x,y(1≤n,q≤2×10^5,-10^6≤x,y ≤10^6)代表图上点的数量、询问的次数、规则中金币的增加量。 ​ 第二行输入nn个整数Next1,Nextz,...,Nextn(1Nextin)Next_1,Next_z,...,Next_n(1≤ Next_i≤n)表示第ii个节点下一步的位置。 ​ 第三行输入nn个整数a1,a2,...,an(1ai106)a_1,a_2,...,a_n(1≤a_i≤10^6),表示第ii个节点的权值。 ​ 此后qq行,每行输入两个整数u,k(1un,1k109)u,k(1≤u≤n,1≤k≤10^9) 代表一次询问的起始点和步数限制。

输出描述

对于每一次询问,在一行上输出一个整数,代表最多能获得的金币数量。

样例1

输入

4 5 -2 3
2 3 4 1
5 10 3 2
1 1
1 2
1 4
2 4
2 7

输出

0
1
4
6
8

说明

该样例如下图所示:

●对于第一次询问,走一步会扣除22金币,但是可以选择站在原地不走; ●对于第二次询问,走一步时金币数量减至2-2,走两步金币数量变更为2+3=1-2+3=1

样例2

输入

4 4 2 -1
2 3 1 4
1 2 3 1000000
1 3
3 3
2 2
4 1000000

输出

4
3