由于某些原因本题仅支持 C++, C++11 语言的提交。
Khong 阿姨在组织一场有
对每种类型的饼干,Khong 阿姨在每个袋子都会装上
请帮 Khong 阿姨算一下,究竟存在多少不同的
实现细节
你必须引用 biscuits.h
头文件。
你需要实现以下函数:
long long count_tastiness(long long x, std::vector<long long> a)
:需要装的饼干袋的数量。 :长度为 的数组。对 , 表示在食物储藏室里类型为 的饼干数量。- 此函数应当返回不同
值的数目,使得阿姨可以装出 袋饼干,且每袋饼干的总口味值都为 。 - 此函数会被调用
次(对于允许的 值,详见约束条件和子任务部分)。每次调用应当被看成是独立的场景。
输入格式
评测程序示例将读取如下格式的输入数据。第一行包含一个整数
- 第一行:
- 第二行:
输出格式
评测程序示例的输出结果的格式如下:
- 第
行( ):count_tastiness
对于输入数据中第 个场景的返回值。
样例一
input
2 3 3 5 2 1 3 2 2 1 2
output
5 6
explanation
对于第一组数据: 考虑以下调用:
count_tastiness(3, [5, 2, 1])
这意味着阿姨打算装
- 一袋饼干里有
块类型为 的饼干,以及 - 两袋饼干,其中各有一块类型为
的饼干和一块类型为 的饼干。
由于总共有
对于第二组数据:
考虑如下调用:
count_tastiness(2, [2, 1, 2])
这意味着阿姨打算装
限制与约定
对于全部数据,满足:
(对于所有的 )- 对于
count_tastiness
的每次调用,食物储藏室里所有饼干的口味值总和都不会超过 。
详细子任务分值与附加限制如下表:
子任务 | 附加限制 | 分值 |
---|---|---|
count_tastiness 的每次调用,食物储藏室里所有饼干的口味值总和都不会超过 |
||
对于 count_tastiness 的每次调用,正确的返回结果都不会超过 |
||
没有附加限制条件。 |
时间限制:
空间限制: