Элементарно. Рассмотреть все возможные сочетания категорий чисел (отрицательные, положительные, ноль), для каждого варианта подобрать оптимальные элементы (если возможно), полученные произведения сравнить и выбрать максимальное.
Варианты:
- ноль и два любых числа: результат 0, как ни крути (в данном примере нулей нет);
- 3 отрицательных числа (если все элементы - отрицательные): выбираем три наименьших по модулю элемента (не в нашем случае);
- 2 отрицательных, 1 положительное: выбираем максимальные по модулю (в нашем случае -10 * -10 * 3 = 300);
- 3 положительных: выбираем максимальные по модулю (3 * 2 * 1 = 6).
В нашем случае победил вариант "2 отрицательных, 1 положительное".
При варианте два положительных один отрицательный твоя программа накроется. :D