printРабочее место участника

printЗадачи

1692. Шпаги

Ограничения: время – 2s/3s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0) idea

Археологический раздел НИИЧАВО решил заняться изучением древнефлатландских волшебных шпаг. После изучения всех имеющихся в наличии образцов было выяснено, что почти все шпаги на самом деле являются копиями друг друга.
А именно, в глубокой древности была произведена первая волшебная шпага. Время от времени мастера брали одну из существующих волшебных шпаг и изготавливали ее копию. Разумеется, копия отличалась от оригинала, но в целом наследовала некоторые его признаки.
Поскольку изготовление копии волшебной шпаги снижает ее магическую силу, ученые установили, что с каждой шпаги было сделано не более двух копий. Также было установлено, что копия могла быть изготовлена не ранее чем через `k` лет после изготовления оригинала.
В распоряжении ученых оказались `n` шпаг, про каждую из которых им известен ее возраст. Ученые хотят выяснить, какая из шпаг была изготовлена первой, а для всех остальных шпаг выяснить, с какой из шпаг она была скопирована. К сожалению, информации о возрасте может быть недостаточно, чтобы восстановить эту информацию однозначно, но ученых устроит любой возможный вариант.
Формат ввода
Первая строка входного файла содержит два числа `n` и `k` — количество шпаг, имеющихся у ученых, и минимальный возраст, необходимый для того, чтобы со шпаги можно было сделать копию (`1\ ≤\ n\ ≤\ 100\ 000`, `1\ ≤\ k\ ≤\ 10^8`). Следующая строка содержит `n` чисел: `a_1,\ a_2,\ …,\ a_n`, где `a_i` (`0\ ≤\ a_i\ ≤\ 10^{9}`) — возраст `i`-й шпаги.
Формат вывода
Для каждого экземпляра шпаги выведите номер шпаги, с которой она была скопирована. Обратите внимание, с каждой шпаги могло быть снято не более двух копий.
Если экземпляр является первой изготовленной шпагой, то выведите для соответствующей шпаги число 0.
Если возможных решений несколько, выведите любое.
Если ученые ошибаются, и не существует последовательности, в которой копии шпаг могли бы быть изготовлены, выведите единственное число `-1`.

Пример ввода 1

6 3
2 10 6 0 5 2

Пример вывода 1

5 0 2 3 2 5

Пример ввода 2

4 3
10 1 1 1

Пример вывода 2

-1
Источник: XIX Командный чемпионат школьников Санкт-Петербурга по программированию, 2011
loading