eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

I. Качка не любить умови

I. Качка не любить умови

Велика Качка любить задачi, але не любить довгi умови, тож вона мене попросила зробити умову настiльки малою, наскiльки це можливо.

Вам дано масив a довжиною n i число k. Кожен елемент масиву рiвен 1, −1 або 0. Ваше завдання замiнити усi нулики на −1 чи 1 так, щоб сума елементiв масиву була додатною i дiлилась нацiло на k.

Формат вхiдних даних

Перший рядок мiстить два цiлi числа n та k (**1 ≤ n, k ≤ 2 · 105**) — кiлькiсть чисел та число, на яке потрiбно, щоб дiлилась сума.

Другий рядок мiстить n цiлих чисел a1, a2, · · · , an (**−1 ≤ ai ≤ 1**) — елементи масиву.

Формат вихiдних даних

Якщо можливо так замiнити нулi на −1 чи 1, щоб сума елементiв масиву була додатною i дiлилась на k, то виведiть у першому рядку слово «Yes» (без лапок), а у другому n цiлих чисел — елементи нового масиву. Якщо iснує кiлька можливих розв’язкiв, виведiть будь-який.

Iнакше, виведiть в одному рядку слово «No» (без лапок).

Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные #1
4 2
-1 -1 0 0
Выходные данные #1
No
Входные данные #2
4 4
0 0 -1 0
Выходные данные #2
No
Входные данные #3
4 2
-1 1 0 0
Выходные данные #3
Yes
-1 1 1 1 
Входные данные #4
6 2
-1 -1 1 1 1 1
Выходные данные #4
Yes
-1 -1 1 1 1 1 
Источник 2019-2020 ACM-ICPC, SEERC, 1/4 фiналу, Днiпро, Київ, Львiв, Миколаїв, Тернопiль, Харкiв, 14 вересня 2019