Автор задачи и разработчик: Павел Скобелин
Для начала заметим, что если в массиве $$$a$$$ больше одного различного элемента, то подойдет любая его перестановка, которая его поменяет.
Далее считаем, что массив состоит из чисел $$$=x$$$.
Тогда рассмотрим 5 случаев:
- $$$x$$$ — составное. Тогда представим $$$x=a\cdot b$$$, где $$$1 < a, b < x$$$. Очевидно, что $$$a = \frac{x}{b} \leq \frac{x}{2}$$$, аналогично $$$b \leq \frac{x}{2}$$$. Значит, $$$a+b\leq x$$$. Тогда давайте любой из элементов $$$x$$$ в массиве заменим на $$$a$$$, $$$b$$$, и $$$x - a \cdot b$$$ единиц. Понятно, что в таком случае и сумма, и произведение массива не изменится, а числа в массиве только уменьшатся, поэтому не превысят $$$k$$$.
- $$$x=0$$$. Давайте добавим еще один $$$0$$$ в конец массива и выполним условие задачи.
- $$$x = 1$$$. Несложно показать, что в таком случае все элементы массива должны быть $$$1$$$, чтобы произведение массива осталось прежним. Аналогично, количество элементов массива должно остаться прежним, чтобы сохранить сумму. Значит, ответа в таком случае не существует.
- $$$x=2$$$. Если $$$n=1$$$, то ответа нет. Иначе заменим $$$2$$$ двойки на одну четверку (предварительно проверив, что $$$k \geq 4$$$).
- $$$x>2$$$ — простое. Изначальная сумма в массиве — $$$n \cdot x$$$, произведение — $$$x^n$$$. Попробуем преобразовать наш массив. Какие преобразования с ним мы можем делать? Первое — это добавить $$$1$$$ в наш массив, не меняя произведение, но строго увеличивая сумму. Второе — объединить $$$x^i$$$ и $$$x^j$$$ в одно число $$$x^{i+j}$$$, не меняя произведение, но строго увеличивая сумму (при $$$x>2$$$ можно показать, что $$$x^{i+j}>x^i+x^j$$$). Таким образом, любое изменение массива либо строго увеличивает сумму, либо строго увеличивает произведение — значит, в таком случае ответа не существует.