#P16647. [GKS 2018 #D] Candies
[GKS 2018 #D] Candies
题目描述
Supervin 非常喜欢吃糖果。今天,他最喜欢的糖果店提供了 颗糖果,它们排成一行。这一行中的第 颗糖果(从 开始计数)的甜度为 。注意,糖果的甜度可能是负数,这意味着糖果尝起来是苦的。
Supervin 喜欢吃甜糖果。然而,总甜度超过 的糖果对他来说也会太甜了。Supervin 还意识到,甜度为奇数的糖果是“奇怪的”,他不想吃超过 颗奇怪的糖果。换句话说,奇糖果是指甜度不能被 整除的糖果。此外,由于 Supervin 赶时间,他只能吃连续的一段糖果。
因此,他想吃一段连续的非空糖果子集,使得其中奇糖果的数量不超过 ,且总甜度最大化,但不超过 。请帮助 Supervin 确定他能获得的最大总甜度,如果不存在满足这些约束的连续子集,则输出 IMPOSSIBLE。
输入格式
输入的第一行给出测试用例的数量 。接下来有 个测试用例。每个测试用例包含两行。第一行包含三个整数 、 和 ,含义如上所述。第二行包含七个整数 、、、、、、;这些值用于生成 ,生成方式如下:
定义:
- 对于 到 ,$X_i = (A \times X_{i-1} + B \times X_{i-2} + C) \bmod M$。
- 对于 到 ,。
输出格式
对于每个测试用例,输出一行,格式为 Case #x: y,其中 是测试用例编号(从 开始), 是 Supervin 能获得的最大总甜度,如果不存在满足题目约束的连续子集,则输出 IMPOSSIBLE。
2
6 1 1000000000000000
1 1 1 1 0 100 0
6 1 -100
1 1 1 1 0 100 0
Case #1: 13
Case #2: IMPOSSIBLE
3
10 1 8
4 3 4 1 5 20 -10
10 2 8
4 3 4 1 5 20 -10
10 1 8
4 3 4 1 5 20 -19
Case #1: 7
Case #2: 8
Case #3: -5
提示
在样例 #1 中,生成的甜度数组 为:[、、、、、],其中加粗并带下划线的数字是奇数。由于 Supervin 只能吃一颗奇糖果,他可以通过取第五颗和第六颗糖果获得最大总甜度。
在样例 #2 中,生成的甜度数组 与样例 #1 相同。然而,这次 Supervin 不能吃总甜度超过 的糖果,因此没有连续的糖果子集满足约束。
注意:对于本题的大数据集,我们不建议使用解释型/较慢的语言。
限制条件
。
。
。
。
。
。
小数据集(测试集 1 – 可见)
。
大数据集(测试集 2 – 隐藏)
。
翻译由 DeepSeek V4 Pro 完成