K. Сокровища
3000 мс · 256 МБ · всё или ничего
В коллекции бриллиантов, у каждого известен вес и стоимость . Выберите набор, суммарный вес которого лежит в отрезке , а суммарная стоимость наибольшая. Выведите сам набор.
Ограничение и веса до — это подпись под решением: ни рюкзак по весам, ни перебор не годятся.
Формат ввода
В первой строке , и (, ). В каждой из следующих строк — вес и стоимость бриллианта ().
Формат вывода
В первой строке выведите — количество бриллиантов в подарке. Во второй строке выведите их номера в любом порядке.
Если составить подарок невозможно, выведите 0 в единственной строке. Если наборов несколько, выведите любой.
Примеры
ввод
3 6 8 3 10 7 3 8 2
вывод
3
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.