Контест Senior Коллекции изнутри обновлено

Максимум в скользящем окне

Условие

Для каждого окна из k подряд идущих элементов выведите его максимум.

Ввод: в первой строке n и k (1 ≤ k ≤ n ≤ 2·10⁴), во второй n целых чисел по модулю до 10⁹.

Вывод: n - k + 1 чисел через пробел.

Пример

8 3
1 3 -1 -3 5 3 6 7
3 3 5 5 6 7

Как подойти

Монотонная очередь на ArrayDeque.

Подсказки: 2
  1. Храните в деке индексы, а не значения.
  2. Какие элементы точно не станут максимумом?

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме