Дни до букетов

Просмотр в формате PDF

Submit solution


Очки: 170
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Автор:
Problem types
Allowed languages
C++, Python

Флорист следит за рядом из n цветов. Для каждого цветка известно, в какой день он распустится: i-й цветок распускается в день a_i.

Чтобы собрать один букет, флористу нужно взять ровно k распустившихся цветов, стоящих подряд в этом ряду. Каждый цветок можно использовать не более чем в одном букете.

Требуется определить наименьший день d, к которому флорист сможет собрать не менее m букетов. Если это невозможно ни в какой день, выведите -1.

Входные данные

Первая строка содержит три целых числа n, m, k — количество цветов, необходимое число букетов и число цветов в одном букете.

Вторая строка содержит n целых чисел a_i, где a_i — день, в который распустится i-й цветок.

Выходные данные

Выведите одно целое число — наименьший день, к которому можно собрать не менее m букетов, либо -1, если это невозможно.

Ограничения

  • 1 <= n <= 2 * 10^5
  • 1 <= m, k <= n
  • 1 <= a_i <= 10^9

Примеры

Пример 1

Входные данные

5 2 2
1 10 3 10 2

Выходные данные

10
Пример 2

Входные данные

4 3 2
1 2 3 4

Выходные данные

-1

Комментарии

Еще нет ни одного комментария.