Время: 1 сек.
Память: 16 Мб
Сложность: 24%
Во время военного похода на морского пехотинца Джо было возложено ответственное задание – развести костёр и поддерживать в нём огонь ровно m минут. Для этого у Джо есть спички и n поленьев, причём Джо известно точное время сгорания каждого полена.
Джо разжигает огонь в момент времени t = 0 и сразу бросает в него одно или несколько поленьев. Затем он должен подбрасывать в огонь новые поленья, не позволяя костру угаснуть (т.е. если последнее полено в костре догорает в момент времени t, то новое полено может быть брошено в огонь не позднее t – 1). Поленья, брошенные в огонь, загораются мгновенно. Одновременно Джо может бросить в огонь любое количество поленьев. Джо должен бросить в огонь все n поленьев.
Помогите Джо определить, сможет ли он подбрасывать поленья в огонь таким образом, чтобы костер горел ровно m минут.
Первая строка входного файла input.txt содержит целые числа n и m (1 ≤ n ≤ 100, 1 ≤ m ≤ 1000) – количество поленьев и время, в течение которого Джо должен поддерживать огонь в костре. Вторая строка входного файла содержит n целых чисел a1, a2, ..., an, где ai (2 ≤ ai ≤ 1000) – время сгорания i-ого полена в минутах.
В выходной файл output.txt выведите строку «yes», если Джо сможет поддерживать огонь в костре ровно m минут, и строку «no» в противном случае.
| Ввод | Вывод |
|---|---|
| 2 3 5 | yes |
| 2 5 3 9 |
no |
| 4 10 3 3 3 3 |
no |