#P16728. [GKS 2019 #B] Diverse Subarray
[GKS 2019 #B] Diverse Subarray
题目描述
Vanity 的架子上有 个小饰品,从左到右编号为 。饰品有不同的类型,用正整数表示。架子上第 个饰品的类型为 。
今天她要出国看望家人,想尽量多带一些饰品。但由于时间紧迫,Vanity 只能拿走连续的一段区间。形式化地说,Vanity 选择两个下标 和 ,取走编号为 的所有饰品。此外,根据税务规定,如果 Vanity 在所选区间内某种类型的饰品数量超过 ,机场安检就会将该类型的所有饰品都扔掉。
例如,假设 ,Vanity 带了六个饰品:一个类型 ,两个类型 ,三个类型 。她可以保留类型 的饰品和两个类型 的饰品,但类型 的所有饰品都会被扔掉!
Vanity 需要选择 和 ,使得她能带给家人的饰品数量最多。她最多能带多少个饰品?
输入格式
输入的第一行给出测试用例的数量 。接下来有 个测试用例。每个测试用例的第一行包含两个整数 和 ,分别表示饰品的数量以及允许的某种类型的最大饰品数量。第二行包含 个整数,其中第 个整数表示第 个饰品的类型 。
输出格式
对于每个测试用例,输出一行,格式为 Case #x: y,其中 是测试用例编号(从 开始), 是 Vanity 能带给家人的最大饰品数量。
4
6 2
1 1 4 1 4 4
8 1
1 2 500 3 4 500 6 7
10 1
100 200 8 8 8 8 8 300 400 100
12 2
40 50 1 1 1 60 70 2 2 2 80 90
Case #1: 4
Case #2: 6
Case #3: 4
Case #4: 6
提示
在样例 #2 中,Vanity 应选择 和 。这样她可以将全部 个饰品带到机场。由于她拥有超过 个类型 的饰品,这些类型 的饰品会被扔掉,所以她总共能带给家人 个饰品。
在样例 #3 中,Vanity 应选择 和 。这样她可以带 个饰品到机场,类型分别为 、、、、、、、 和 。由于她拥有超过 个类型 的饰品,这些类型 的饰品会被扔掉,所以她总共能带给家人 个饰品。
在样例 #4 中,Vanity 应选择 和 。这样她可以将全部 个饰品带到机场。由于她拥有超过 个类型 和类型 的饰品,这些类型 和类型 的饰品会被扔掉,所以她总共能带给家人 个饰品。
注意:对于本题,我们不建议使用解释型/较慢的语言。
限制条件
。
。
。
测试集 1(可见)
。
测试集 2(隐藏)
。
翻译由 DeepSeek V4 Pro 完成