K. Сколько весов достижимо
3000 мс · 256 МБ · всё или ничего
Как классная задача K, но вопрос другой: сколько различных суммарных весов от до можно набрать?
Битсет считает это тем же способом: после всех сдвигов достаточно посчитать единичные биты в первых позициях, не считая нулевую.
У std::bitset для этого есть готовый метод count(). Если считать вручную, пригодится __builtin_popcountll по словам — но не забудьте обнулить биты за границей , иначе они попадут в ответ.
Формат ввода
Первая строка содержит числа () и ().
Вторая строка — чисел ().
Формат вывода
Одно число — количество достижимых весов от 1 до .
Примеры
ввод
5 10 1 2 3 4 5
вывод
10
ввод
2 10 4 5
вывод
3
Войдите, чтобы отправлять решения.