Нашли ошибку?

Перебор всех подмножеств

ЛёгкаяОценка сложностиГлава 8

#NP-полные задачи#O-большоеid: ga-subsets-complexity

Функция точно решает задачу «подобрать грузы как можно тяжелее, но не тяжелее лимита», перебирая все подмножества из n грузов. Определите время выполнения.

Код

from itertools import combinations


def best_load(weights: list[int], limit: int) -> int:
    best = 0
    for size in range(len(weights) + 1):
        for subset in combinations(weights, size):
            total = sum(subset)
            if best < total <= limit:
                best = total
    return best

Какое время выполнения?