Тут можно использовать следующую эвристику:
1. Создаем сортированный по убыванию массив твоих удлинителей, в каждой ячейке которого находится длинна и кол-во доступных элементов.
2. Программа пытается построить набор нужной длинны, выбирая сначала максимальную длинну, потом вторую по длинне и т.д. Короче, смотри задачу о портфеле - классическая задача.
|