아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Массовый прогноз

시간 제한1초메모리 제한1024 MB

요약
길이 N인 투표 목록에서 과반수를 차지하는 원소를 포함하는 모든 부분배열의 개수를 센다.
난이도

보통10점 중 7점

유형
분할 정복, 해시맵, 누적 합, 구현
정답자
아직 제출이 없습니다

문제

В выборах председателя школьного клуба информатиков участвуют KK кандидатов и NN избирателей. Кандидаты пронумерованы от 11 до KK, избиратели --- от 11 до NN.

По результатам голосования составляется список, ii-й элемент этого списка равен номеру кандидата, за которого проголосовал ii-й избиратель. Для каждого отрезка списка назначается наблюдатель, который подсчитывает голоса на этом отрезке. Таким образом, на выборах работают N(N+1)/2N(N + 1) / 2 наблюдателей.

Если наблюдатель обнаружит кандидата, набравшего на его отрезке более половины голосов, он публикует в социальной сети прогноз о том, что этот кандидат победит в выборах.

Требуется написать программу, которая по списку голосов определяет количество опубликованных наблюдателями прогнозов.

입력

Первая строка входного файла содержит два числа NN и KK (1≤N≤500,0001 \le N \le 500\\,000, 1≤K≤500,0001 \le K \le 500\\,000). Вторая строка содержит NN чисел V_1,V_2,…,V_NV\_1, V\_2, \ldots, V\_N --- список голосов избирателей (1≤V_i≤K1 \le V\_i \le K).

출력

Выходной файл должен содержать единственное число --- количество прогнозов.

예제2

  1. 예제 1

    입력
    5 2
    1 2 1 2 1
    
    예상 출력
    9
    
  2. 예제 2

    입력
    3 7
    5 2 6
    
    예상 출력
    3