Загрузка [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js
 

print2046. Смит

printСмит

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

Как известно, агент Смит – обычная программа, и, чтобы ее взломать, не нужно делать чего-то экстраординарного, нужно всего лишь реализовать алгоритм Андерсона. Сам алгоритм очень сложен в написании, и хоть сколько-нибудь быстрая его работа возможна лишь на серверах Матрицы. Однако, он основывается на куда более простом алгоритме Томаса, который мы и попросим вас реализовать.
Нам даны n чисел, отвечающих за жизнеобеспечение агента. Поскольку некоторые органы могут быть повреждены, числа могут быть отрицательными. Чтобы вызвать каскадный резонанс и уничтожить агента, нужно выбрать несколько чисел таким образом, чтобы их произведение было больше произведения всех остальных.
Нео написал алгоритм, решающий эту задачу, примерно за 10 секунд. Повторите его подвиг.
В первой строке находится число n (2 ) – количество чисел. Во второй строке находятся n целых чисел a_i (-100\ ≤\ a_i\ ≤\ 100) – числа отвечающие за жизнеобеспечение агента Смита.
В первой строке выведите количество чисел k (1\ ≤\ k\ <\ n), которые необходимо выбрать. Во второй строке выведите индексы этих чисел. Если выбрать числа невозможно, в первой строке выведите сообщение "Impossible".

Пример ввода

5
5 3 -1 15 2

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

1
1
Источник: neerc.ifmo.ru/school
loading