e-olymp
Yarışlar

ACM-ICPC, SEERC, 1/4 2019-2020

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

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
4 2
-1 -1 0 0
Çıxış verilənləri #1
No
Giriş verilənləri #2
4 4
0 0 -1 0
Çıxış verilənləri #2
No
Giriş verilənləri #3
4 2
-1 1 0 0
Çıxış verilənləri #3
Yes
-1 1 1 1 
Giriş verilənləri #4
6 2
-1 -1 1 1 1 1
Çıxış verilənləri #4
Yes
-1 -1 1 1 1 1 
Mənbə 2019-2020 ACM-ICPC, SEERC, 1/4 фiналу, Днiпро, Київ, Львiв, Миколаїв, Тернопiль, Харкiв, 14 вересня 2019