#1458. 收益计算

收益计算

题目描述

今天我们来到的地点是锦标赛的赛场。 本次的赛事有点不同,首先,nn 位选手将自行组成小组,其中第 ii 号选手将进入第 aia_i 个小组。 然后接下来的 mm 天里,每天将指定两个不同的小组 xxyy,接下来每一位 xx 小组里的成员都和每一位 yy 小组里的成员进行一次比试。 我们每一次比试将会下注,两位骑士的编号分别为 aabb,那么如果你下注成功,你将获得你的本金和 a×b a \times b 的奖励。 当然了,如果你有本金,每次下注你需要压上你的所有本金! 那么请问,接下来的 mm 天里,在每次都下注成功的前提下,你每天分别可以获得多少奖金?

请注意,你每天初始的本金是 00 , 但是你可以以 00 元本金下注,只需要分别计算每天的利益即可。

数据保证答案不超过 6464 位有符号整型能表达的范围。

赌博有风险,投资需谨慎!

输入格式:

第一行两个正整数 nn (1n2105)(1 \le n \le 2 \cdot 10^5)mm (1m2105)(1 \le m \le 2 \cdot 10^5),由空格隔开。 接下来一行有 nn 个由空格隔开的正整数 aia_i (1ai106)(1 \le a_i \le 10^6 ),表示编号为 ii 的选手所在的小组的编号。 接下来 MM 行,每行两个由空格隔开的正整数 xix_i , yiy_i ( xix_iyiy_i ),保证 xix_i , yiy_i出现在 a1 ana_1 ~ a_n 中。

输出格式:

输出共 mm 行,每行一个正整数,第 ii 行表示第 ii 天可以获得的最大收益。 数据保证答案不超过 6464 位有符号整型能表达的范围。

样例

输入

9 3
1 1 2 2 3 3 3 2 1
1 2
2 3
3 1

输出

180
270
216

样例提示:

小组 11 的成员有 1,2,9{1, 2, 9}

小组 22 的成员有 3,4,8{3, 4, 8}

小组 3 的成员有 5,6,7{5, 6, 7}

第一天,小组 11 和小组 22 进行比赛

获得的收益为:

$1×3 + 1×4 + 1×8 + 2×3 + 2×4 + 2×8 + 9×3 + 9×3 + 9×8 = 180$。

第二天,小组 22 小组 33 进行比赛

获得的收益为:

$3×5 + 3×6 + 3×7 + 4×5 + 4×6 + 4×7 + 8×5 + 8×6 + 8×7 = 270$。

第三天,小组 1 和小组 3 进行比赛。

获得的收益为:

$1×5 + 1×6 + 1×7 + 2×5 + 2×6 + 2×7 + 9×5 + 9×6 + 9×7 = 216$。

限制与约定

对于 40%40\%的样例 :

1n1001 \le n \le 100 , 1m1001 \le m \le 100

对于 100%100\% 的样例:

1n21051 \le n \le 2 \cdot 10^5 , 1m21051 \le m \le 2 \cdot 10^5 1ai106 1 \le a_i \le 10^6 xix_iyiy_i ,保证 xix_i , yiy_i出现在 a1 ana_1 ~ a_n 中。

  • 时间限制: 2s2 s
  • 空间限制: 256MB256 MB