#HK5444. 「ROI 2013 Day 2」大规模预测

「ROI 2013 Day 2」大规模预测

题目描述

译自 ROI 2013 Day2 T3. Массовый прогноз

在学校计算机俱乐部主席选举中,有 KK 位候选人和 NN 位选民。候选人编号为 11KK,选民编号为 11NN

根据投票结果,生成一个列表,第 ii 个元素表示第 ii 位选民投票支持的候选人编号。对于列表的每个子区间,安排一名观察员统计该区间的投票结果。因此,选举中共有 N(N+1)/2N(N + 1)/2 名观察员。

如果观察员发现某候选人在其负责的区间内获得的票数超过半数,他会在社交网络上发布预测,认为该候选人将赢得选举。

你需要编写一个程序,根据投票列表计算观察员发布的预测数量。

输入格式

输入文件的第一行包含两个整数 NNKK (1N500000,1K500000)(1 \leq N \leq 500000, 1 \leq K \leq 500000)

第二行包含 NN 个整数 V1,V2,,VNV_1, V_2, \ldots, V_N (1ViK)(1 \leq V_i \leq K),表示选民的投票列表。

输出格式

输出文件应包含一个整数,表示预测的数量。

5 2
1 2 1 2 1

9

3 7
5 2 6

3

数据范围与提示

本题包含 5050 个独立测试点,每个测试点价值 22 分,总分为 100100 分。测试点的评分是独立的,具体限制条件如下表所示:

测试点 NN KK 测试点 NN KK 测试点 NN KK
11 22 22 1818 20002000 2020 3535 9000090000 10001000
22 33 11 1919 30003000 20002000 3636 100000100000 50005000
33 55 55 2020 50005000 20002000 3737 125000125000 11
44 1010 1010 2121 75007500 200200 3838 150000150000 1200012000
55 2020 22 2222 1000010000 1000010000 3939 150000150000 1818
66 3030 33 2323 1500015000 15001500 4040 200000200000 4200042000
77 5050 2020 2424 2000020000 1010 4141 250000250000 2600026000
88 7575 7575 2525 2500025000 100100 4242 300000300000 1000010000
99 100100 20002000 2626 3000030000 1515 4343 350000350000 102000102000
1010 150150 3030 2727 3500035000 3535 4444 400000400000 1200012000
1111 200200 5050 2828 4000040000 1000010000 4545 450000450000 50005000
1212 300300 1010 2929 4500045000 1000010000 4646 500000500000 22
1313 400400 100100 3030 5000050000 1000010000 4747 500000500000 102000102000
1414 500500 22 3131 5500055000 1300013000 4848 500000500000 102000102000
1515 300300 200200 3232 6000060000 174174 4949 500000500000 102000102000
1616 10001000 20002000 3333 7000070000 1000010000 5050 500000500000 501501
1717 15001500 100100 3434 8000080000 10001000