printЗадачи командного чемпионата

print6. Монеты

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

Дан набор монет разного размера. Положив одну из монет на стол, нужно расположить вокруг нее остальные монеты (или только часть) таким образом, чтобы каждая из выложенных монет соприкасалась с первой (центральной) монетой и с предыдущей выложенной монетой, а последняя выложенная монета соприкасалась также со второй выложенной монетой.
В первой строке входного файла содержится целое число `N` от 4 до 10 – количество монет. Во второй строке содержится `N` чисел, разделенных пробелами, в диапазоне от 5 до 50 с тремя десятичными знаками – диаметры монет.
В выходной файл вывести порядок выкладывания монет на стол, разделяя номера монет пробелами. Расстояние между центрами второй монеты и последней не должно отличаться от суммы радиусов этих двух монет больше чем на 0.005 (допустимая погрешность при выкладывании). Если существует несколько вариантов, то вывести один (любой) из них. Если выложить монеты из заданного набора невозможно, то вывести сообщение IMPOSSIBLE.

Пример ввода

8
10.000 10.000 10.000 10.000 10.000 10.000 12.000 10.000

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

1 2 3 4 5 6 8
loading