Ограничения: время – 500ms/1000ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Задача о "ленивом туристе" формулируется следующим образом. Имеется рюкзак, который может вместить предметы общим весом не более `C`,
и `N` предметов, `i`-й предмет имеет вес `w_i`.
Нужно выбрать предметы так, чтобы их суммарный вес минимальным, но при этом ни один из оставшихся предметов
нельзя добавить в рюкзак. Например, если есть три предмета с весами 4, 3 и 5, а вместимость рюкзака равна 7,
то ленивый турист может положить в рюкзак предмет с весом 5, тогда в рюкзак нельзя будет положить ни предмет с весом 3, ни предмет с весом 4.
Первая строка ввода содержит два целых числа -- количество предметов `N` (`1 <= N <= 1000`) и вместимость рюкзака `C` (`1 <= C <= 10^5`).
Вторая строка содержит `N` целых чисел -- веса предметов `w_i` (`1 <= w_i <= C`).
В первой строке вывести количество выбранных предметов `K` (`1 <= K <= N`). Во второй строке вывести `K` чисел -- веса выбранных предметов через пробел.
Веса предметов можно вывести в любом порядке, если существует несколько вариантов, минимизирующих суммарный вес, то можно вывести любой из них.
```sample Пример ввода
3 7
4 3 5
```
```sample Пример вывода
1
5
```