10949. Тримати стрій - 3


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

У військовій частині міста Шатров продовжуються заняття з стройової підготовки. На цей раз Андрій Юрійович виконує чергове завдання свого начальника Павла Андрійовича.

Для виконання цього завдання, Андрієві Юрійовичу необхідно серед усіх \(n\) солдатів, що стоять в одній шерензі, вибрати загін із \(k\) високих солдатів для виконання будівельних робіт. Як перший крок, Андрій Юрійович наказав кожному солдату визначити свій показник росту. Для цього кожен солдат, що стоїть у шерензі, повинен подивитися спочатку в один бік і порахувати кількість солдатів у цій частині шеренги, які нижчі за нього, потім подивитися в інший бік, порахувати таку ж кількість, і тоді сума цих двох чисел і буде його показником росту.

На другому кроці, ґрунтуючись на цьому показнику, Андрій Юрійович має обрати загін. Оскільки за довгі дні та ночі занять стройовою підготовкою солдати встигли добре познайомитись і навіть потоваришувати зі своїми сусідами у шерензі, Андрій Юрійович вирішив вибрати у шерензі такий безперервний підвідрізок із рівно \(k\) солдатів, у якого сума показників росту всіх солдатів максимальна.

Маючи інформацію про ріст кожного солдата в шерензі, допоможіть Андрій Юрійовичу знайти оптимальний підвідрізок.

Формат вхідних даних

Перший рядок вхідного файлу містить два цілих числа: \(n\) і \(k\) (\(1 ≤ k ≤ n ≤ 100000\)) — кількість солдатів у строю та необхідний розмір загону, відповідно.

Наступний рядок містить \(n\) цілих чисел \(h_i\) (\(1 ≤ h_i ≤ 10^9\) ) — ріст \(i\) - го зліва солдата в шерензі.

Формат вихідних даних

У вихідний файл виведіть одне ціле число \(l\) — лівий кінець підвідрізка з \(k\) солдатів з максимальним показником росту. Якщо таких відрізків кілька, виведіть лівіший.

Приклад вхідних даних

4 2
1 2 4 3

Приклад вихідних даних

3

Приклад вхідних даних

4 2
2 1 1 2

Приклад вихідних даних

1

Коментарі

Ще немає коментарів.