#S0118. 【21NOIP提高组】数列
时间限制1000 ms
内存限制512 MiB
通过率—0 / 0 次提交
题目描述
给定整数 ,, ,和一个长度为 的正整数数组 , , · · · ,。 对于一个长度为 ,下标从 开始且每个元素均不超过 的非负整数序列 {},我们定义它的权值为 × × · · · × 。 当这样的序列 {} 满足整数 = + + · · · + 的二进制表示中 的个数不超过 时,我们认为 {} 是一个合法序列。 计算所有合法序列 {} 的权值和对 取模的结果。
输入
输入的一行是三个整数 , , 。 第二行 个整数,分别是 , , · · · , 。
输出
仅一行一个整数,表示所有合法序列的权值和对 取模的结果。
输入样例
5 1 1
2 1
输出样例
40
提示
【样例解释】 由于 ,而且由 知道 ,合法的 只有一种可能: ,这要求 中必须有 个 和 个 ,于是有 种可能的序列,每种序列的贡献都是 ,权值和为 。 对所有测试点保证 , , 1 ≤ v_i < 998244353。
| 测试点 | n | k | m |
| 1 ∼ 4 | = 8 | ≤ n | = 9 |
| 5 ∼ 7 | = 30 | = 7 | |
| 8 ∼ 10 | = 12 | ||
| 11 ∼ 13 | = 1 | = 100 | |
| 14 ∼ 15 | = 5 | ≤ n | = 50 |
| 16 | = 15 | = 100 | |
| 17 ∼ 18 | = 30 | = 30 | |
| 19 ∼ 20 | = 100 |
评测数据说明
本题使用按题意独立构造、以独立程序核对的训练数据及公开样例,共6个测试点,非原站或官方原始数据。总分100分。