eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Максимум

Максимум

Назвемо фрагментом числової послідовності будь-яку непорожню підпослідовність цієї послідовності без пропусків. Наприклад, фрагментами послідовності чисел 1, 7, 3 є сама послідовність 1, 7, 3, її двоелементні підпослідовності 1, 7 та 7, 3 (але не підпослідовність 1, 3), а також три одноелементні підпослідовності 1, 7 і 3. \textbf{Завдання} Напишіть програму, що для послідовності чисел і величини \textit{M} визначить, скільки існує фрагментів заданої послідовності, максимум на яких дорівнює \textit{M}. Фрагменти, що містять однакові числа, але розташовуються в різних місцях послідовності, ми вважаємо різними. \InputFile У першому рядку вхідного файла записано два натуральних числа: \textit{\textbf{N}}\textbf{ (2 ≤ }\textit{\textbf{N }}\textbf{≤ 10^5)} --- довжину послідовності чисел --- та \textit{\textbf{M}}\textbf{ (1 ≤ }\textit{\textbf{M }}\textbf{≤ 10^9).} У другому рядку міститься послідовність з \textit{\textbf{N}} натуральних чисел, кожне з яких не перевищує \textbf{10^9}. \OutputFile Вихідний файл maximum.sol повинен містити єдине число --- кількість фрагментів послідовності, найбільше число яких дорівнює \textit{\textbf{M}}. \Scoring Набір тестів складається з 3 блоків, для яких додатково виконуються такі умови: \begin{enumerate} \item 25 балів: \textbf{2 ≤ }\textit{\textbf{N }}\textbf{≤ 100} \item 25 балів: \textbf{100 < }\textit{\textbf{N }}\textbf{≤ 1000} \item 50 балів: \textbf{1000 < }\textit{\textbf{N }}\textbf{≤ 10^5} \end{enumerate}
Ліміт часу 0.2 секунд
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
4 5
1 5 1 2
Вихідні дані #1
6

Пояснення: Пояснення. У першому прикладі можна взяти такі шість фрагментів з максимумом, що дорівнює п’яти: (1,5,1,2), (1,5,1), (5,1,2), (1,5), (5,1) та (5). У другому прикладі жоден з фрагментів послідовності, очевидно, не матиме максимуму, що дорівнює 2.

Автор Данило Мисак
Джерело XXVII Всеукраїнська учнівська олімпіада з інформатики (2014) Дніпропетровськ