Олимпиадный тренинг

Задача . B. Мишка и японские кроссворды


Задача

Темы: реализация *1100

Одномерный японский кроссворд можно представить в виде двоичной строки длины x. Закодируем его в массив a длины n, где n — количество отрезков, состоящих полностью из цифр 1, ai — длина i-го отрезка. Никакая пара отрезков не касается и не пересекается.

Например:

  • Если x = 6 и кроссворд 111011, тогда он кодируется в {3, 2};
  • Если x = 8 и кроссворд 01101010, тогда он кодируется в {2, 1, 1};
  • Если x = 5 и кроссворд 11111, тогда он кодируется в {5};
  • Если x = 5 и кроссворд 00000, тогда он кодируется пустым массивом.

Мишка хочет нарисовать новый японский кроссворд. Он уже выбрал длину и закодированную версию кроссворда. Теперь он хочет проверить, что существует ровно один кроссворд такой, что его длина и закодированная версия совпадают с выбранными. Помогите ему проверить это!

Входные данные

В первой строке записаны два целых числа n и x (1 ≤ n ≤ 100000, 1 ≤ x ≤ 109) — количество элементов в закодированной версии кроссворда и длина кроссворда, выбранные Мишкой.

Во второй строке записаны n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 10000) — закодированная версия кроссворда.

Выходные данные

Выведите YES, если существует ровно один кроссворд с заданной длиной и закодированной версией. Иначе выведите NO.


Примеры
Входные данныеВыходные данные
1 2 4
1 3
NO
2 3 10
3 3 2
YES
3 2 10
1 3
NO

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя