Codeforces Global Round 21 |
---|
Закончено |
Вам дано положительное целое число $$$k$$$. Для мультимножества целых чисел $$$S$$$ определим $$$f(S)$$$ следующим образом:
Более формально, пусть $$$|S|$$$ означает число элементов в $$$S$$$. Тогда,
Вам дано мультимножество целых чисел $$$A$$$. Вычислите $$$\sum\limits_{B\subseteq A} f(B)$$$ по модулю $$$10^9+7$$$.
Обратите внимание, что в этой задаче элементы считаются различными, если они имеют различные индексы, но необязательно различные значения. То есть мультимножество, состоящее из $$$n$$$ элементов, всегда содержит $$$2^n$$$ различных подмножеств вне зависимости от того, равны ли в нём какие-то элементы или нет.
Первая строка содержит два целых числа $$$n$$$ и $$$k$$$, где $$$n$$$ — количество элементов в $$$A$$$ ($$$1\le k\le n\le 600$$$).
Вторая строка содержит $$$n$$$ целых чисел $$$a_1,a_2,\dots,a_n$$$, задающих элементы $$$A$$$ ($$$-10^9\le a_i\le 10^9$$$).
Выведите $$$\sum\limits_{B\subseteq A} f(B)$$$ по модулю $$$10^9+7$$$.
3 2 -1 2 4
10
3 1 1 1 1
7
10 4 -24 -41 9 -154 -56 14 18 53 -7 120
225905161
15 5 0 0 2 -2 2 -2 3 -3 -3 4 5 -4 -4 4 5
18119684
Рассмотрим первый тестовый пример. Из определения,
Таким образом, вывести необходимо $$$(0+0+0+0-2-4+8+8)\bmod (10^9+7)=10$$$.
Во втором тестовом примере мультимножество, хоть и состоит из трёх равных элементов, содержит $$$8$$$ различных подмножеств: $$$\varnothing,\{1\},\{1\},\{1\},\{1,1\},\{1,1\},\{1,1\},\{1,1,1\}$$$.
Название |
---|