生成序列中的预算选择¶
预估时间限制:1.0 秒。内存限制:128 MB。
实际时限以标准程序在目标评测环境的最慢用例中位时间乘以 \(2\) ,按 \(0.5\) 秒向上取整。参考环境见评测说明。
背景故事¶
一个回收站用简短参数生成一整批物资的处理费用。部分物资可以带来返款,因此费用可能为负。站点希望在预算内处理尽可能多的物资。
(本故事由GPT-6重写)
形式化问题描述¶
给定 \(n,A,B,C,D,L\) .令 \(x_0=A\) ,对 \(i=1,\ldots,n\) 依次生成
其中 \(\operatorname{rem}(u,v)=u-\operatorname{trunc}(u/v)v\) ,除法向零截断,\(D\ne0\) .余数为零或与 \(u\) 同号;\(D\) 可以为负。生成过程中使用精确整数乘法,不进行 32 位环绕。
从 \(x_1,\ldots,x_n\) 中选择若干不同位置,使其值之和不超过 \(L\) ,求能选中的最多位置数。同值位置可以同时选择,空集的和为零。如果连一个满足预算的集合都不存在,约定输出 \(0\) .因此在负预算下,输出零不一定表示空集满足预算。
输入格式¶
第一行五个整数 \(n,A,B,C,D\) .第二行一个整数 \(L\) .
输出格式¶
输出一行一个整数,表示最多选择的位置数;不存在可行集合时按约定输出零。
样例¶
样例 1¶
输入¶
5 3 4 5 19
20
输出¶
2
样例 2¶
输入¶
4 0 1 -2 100
-10
输出¶
4
样例 3¶
输入¶
3 0 0 1 7
-1
输出¶
0
样例解释¶
样例 1 生成 17、16、12、3、17,选择 3 与 12,费用为 15;最便宜的三个值之和为 31,超过预算 20。样例 2 生成 -2、-4、-6、-8,全部选中后的和为 -20,满足预算 -10。样例 3 的所有值都是 1,预算为 -1,没有可行集合。
选择两个位置的最低费用为 15,选择三个位置至少需要 31。
数据范围与保证¶
所有数据满足 \(1\le n\le2\times10^7\) ,\(|A|,|B|,|C|,|D|,|L|\le10^9\) ,\(D\ne0\) .
规格由 Codex(GPT-6)重新设计:明确序列递推、负数余数、非零除数和无可行集合时的输出。
| 分值比例 | 额外条件 |
|---|---|
| 20% | \(n\le20\) |
| 30% | \(n\le100000\) |
| 50% | 无额外条件 |