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

「ROI 2013 Day 2」大规模预测

题目描述

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

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

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

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

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


输入格式

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

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


输出格式

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


样例 1

输入

5 2
1 2 1 2 1

输出

9

样例 2

输入

3 7
5 2 6

输出

3

数据范围与提示

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

测试点 NN KK 测试点 NN KK 测试点 NN KK
1 2 18 2000 20 35 90000 1000
2 3 1 19 3000 2000 36 100000 5000
3 5 20 5000 37 125000 1
4 10 21 7500 200 38 150000 12000
5 20 2 22 10000 39 18
6 30 3 23 15000 1500 40 200000 42000
7 50 20 24 20000 10 41 250000 26000
8 75 25 25000 100 42 300000 10000
9 100 2000 26 30000 15 43 350000 102000
10 150 30 27 35000 35 44 400000 12000
11 200 50 28 40000 10000 45 450000 5000
12 300 10 29 45000 46 500000 2
13 400 100 30 50000 47 102000
14 500 2 31 55000 13000 48
15 300 200 32 60000 174 49
16 1000 2000 33 70000 10000 50 501
17 1500 100 34 80000 1000