Codeforces Round 197 (Div. 2) |
---|
Закончено |
У Ксюши есть набор из гирек, а также чашечные весы. Каждая гирька имеет целочисленный вес от 1 до 10 килограмм. Ксюша собирается поиграть с весами и гирьками. Для этого она последовательно кладет гирьки на весы. Первую гирьку на левую чашу весов, вторую гирьку — на правую чашу весов, третью — на левую чашу весов, четвертую — на правую чашу весов и так далее. Всего Ксюша хочет положить на весы m гирек.
Просто так класть гирьки на весы не интересно, поэтому Ксюша установила несколько правил. Во-первых, она не кладет на весы подряд две гирьки одинакового веса. То есть i-я положенная гирька, должна отличаться от (i + 1)-й по весу для любого i (1 ≤ i < m). Во-вторых, Ксюше хочется, чтобы каждый раз, когда она кладет гирьку на некоторую чашу весов, эта чаша весов перевешивала противоположную. То есть сумма весов гирек на соответствующей чаше должна быть строго больше, чем на противоположной.
Вам заданы все типы гирек, которые имеются у Ксюши. Можете считать, что у Ксюши имеется бесконечное количество гирек каждого заданного типа. Ваша задача, помочь Ксюше выложить m гирек на весы или сказать, что это сделать невозможно.
В первой строке записана строка, состоящая из ровно десяти нулей и единиц: i-тый (i ≥ 1) символ в этой строке равен «1», если у Ксюши имеются гирьки, которые весят i килограмм, и равен «0» иначе. Во второй строке записано целое число m (1 ≤ m ≤ 1000).
В первой строке выведите «YES», если существует способ выложить m гирек на весы, соблюдая все правила, иначе в первой строке выведите «NO». Если выложить m гирек на весы возможно, то в следующей строке выведите m целых чисел — веса гирек в порядке их выкладывания на весы.
Если существует несколько решений, разрешается вывести любое.
0000000101
3
YES
8 10 8
1000000000
2
NO
Название |
---|