eolymp
bolt
Try our new interface for solving problems
Problems

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» (без лапок).

Time limit 1 second
Memory limit 64 MiB
Input example #1
4 2
-1 -1 0 0
Output example #1
No
Input example #2
4 4
0 0 -1 0
Output example #2
No
Input example #3
4 2
-1 1 0 0
Output example #3
Yes
-1 1 1 1 
Input example #4
6 2
-1 -1 1 1 1 1
Output example #4
Yes
-1 -1 1 1 1 1 
Source 2019-2020 ACM-ICPC, SEERC, 1/4 фiналу, Днiпро, Київ, Львiв, Миколаїв, Тернопiль, Харкiв, 14 вересня 2019