AT_code_festival_2018_quala_c 半分

题目描述

给定一个长度为 $N$ 的整数序列 $A_1,\ A_2,\ \ldots,\ A_N$。对该数列恰好进行 $K$ 次如下操作: - 选择一个下标 $i$($1 \leq i \leq N$),将 $A_i$ 除以 $2$,结果向下取整。 请计算经过 $K$ 次操作后,可能得到的不同数列的个数,并对 $10^9+7$ 取模。

输入格式

输入以以下格式从标准输入读入: > $N$ $K$ $A_1$ $A_2$ $\ldots$ $A_N$

输出格式

输出答案。

说明/提示

## 限制条件 - $1 \leq N \leq 50$ - $0 \leq A_i \leq 10^{18}$($1 \leq i \leq N$) - $0 \leq K \leq 10^9$ - 所有输入值均为整数。 ## 样例解释 1 初始时,数列 $A = [0, 3, 4]$,$K = 2$。经过 $K$ 次操作后,可能得到的数列有 $[0, 3, 4]$、$[0, 1, 2]$ 等。例如,数列 $[0, 3, 4]$ 可以这样实现: - 选择 $i = 1$,数列变为 $[0, 3, 4]$。 - 再选择 $i = 1$,数列仍为 $[0, 3, 4]$。 又如,数列 $[0, 1, 2]$ 可以这样实现: - 选择 $i = 2$,数列变为 $[0, 1, 4]$。 - 选择 $i = 3$,数列变为 $[0, 1, 2]$。 由 ChatGPT 4.1 翻译