Задача рюкзак C++

«Рюкзак»

Имеется рюкзак, вместимость которого W и набор из N предметов, причём i-ый предмет займёт Wi места, если положить его в рюкзак, и имеет ценность Ci. Вашей задачей является собрать в рюкзаке набор предметов, имеющий максимальную суммарную ценность.

Входные данные
На первой строке два целых числа W и N. На каждой из последующих N строк по два целых числа – характеристики очередного предмета Wi и Ci.

Выходные данные
На первой строке выведите два числа C – суммарную ценность выбранных предметов и M – их количество. На следующей строке выведите M чисел – номера выбранных предметов (в исходном наборе они занумерованы начиная с единицы)

Реализация процедурным методом

Post Author: Nikulux

Добавить комментарий