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

printЗадачи

1334. Полином

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

Некоторый многочлен представлен в виде произведения двучленов первой степени вида `(x+a_1)*(x+a_2)*…*(x+a_n)`. Напечатать этот многочлен в стандартной форме `x^n+b_1*x^{n-1}+…+b_{n-1}*x+b_n`. При этом `c*x^k` выводится как `c`*X^`k` (например, 5*X^8), но если коэффициент `c` равен 0, то слагаемое не выводится, если `|c|` равен 1, а `k\ >\ 0`, то выводится только знак коэффициента `c` (например, -X^3), если `k=1`, то степень не выводится (например, 5*X), а если `k=0`, то выводится только `c`. Слагаемые должны выводиться в порядке уменьшения степени множителя `x^k`.
Во входном файле в первой строке содержится число `n` (`1\ ≤\ n\ ≤\ 9`) – количество двучленов, далее идет `n` строк, в каждой строке по одному целому числу от `-10` до `10` – коэффициенты `a_i` перемножаемых двучленов.
В выходной файл вывести многочлен в указанной стандартной форме.

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

2
1
-1

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

X^2-1

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

2
1
1

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

X^2+2*X+1
loading