Олимпиадный тренинг

Задача . 3. Очередь телеметрии


Задача

Темы:

Очередь телеметрии

Центр управления должен проверить N пакетов на позициях от 1 до N. Пакет на позиции S уже проверен.

Для непроверенного пакета i его удалённость равна минимальному расстоянию до уже проверенной позиции.

На каждом шаге выбирается пакет:

  1. с наибольшей удалённостью;
  2. при равенстве — с наибольшим приоритетом p[i];
  3. при новом равенстве — с наименьшим номером позиции.

После выбора пакет становится проверенным. Приоритет пакета S ни на что не влияет.

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

В первой строке N S (2 <= N <= 200000). Во второй — N приоритетов от 0 до 109.

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

Выведите все позиции в одной строке в порядке проверки, разделяя соседние числа ровно одним пробелом. Первой должна быть позиция S.


Примеры
№Входные данныеВыходные данные
1
6 3
0 0 0 0 10 0
3 6 1 5 2 4
2
10 5
7 1 9 3 0 8 2 6 4 5
5 10 1 3 8 6 9 4 7 2
Статистика успешных решений по компиляторам
 Кол-во
Python1
Комментарий учителя