#P16863. [GKS 2021 #G] Banana Bunches

[GKS 2021 #G] Banana Bunches

题目描述

Barbara 前往 Alan 的香蕉农场,农场中有 NN 棵香蕉树排成一行,用一个数组 BB 表示。位置 ii 上的树有 BiB_i 串香蕉。每棵树的成本相同。一旦 Barbara 购买了一棵树,她就获得该树上所有的香蕉串。

Alan 有一个特殊规则:因为他不想在行中留下太多空隙,所以他允许 Barbara 最多购买香蕉树行中的 22 个连续段

Barbara 希望购买一些树,使得这些树上的香蕉串总数恰好等于她篮子的容量 KK。她希望在花费尽可能少的钱的前提下实现这一点。她应该购买多少棵树?

输入格式

输入的第一行给出测试用例的数量 TT。接下来有 TT 个测试用例。

每个测试用例的第一行包含两个整数:NN(Alan 农场中香蕉树的数量)和 KK(Barbara 篮子的容量)。

下一行包含 NN 个非负整数 B1,B2,,BNB_1, B_2, \dots, B_N,表示数组 BB,其中第 ii 个整数表示 Alan 农场中第 ii 棵树的香蕉串数量。

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yy 是 Barbara 使用最多 22 个连续段获得恰好 KK 串香蕉所需购买的最少树的数量,如果不可能则输出 -1

4
6 8
1 2 3 1 2 3
4 10
6 7 5 2
6 8
3 1 2 1 3 1
4 6
3 1 2 0
Case #1: 3
Case #2: -1
Case #3: 4
Case #4: 3

提示

在样例 #1 中,第一个连续段可以包含索引 2233 的树,第二个连续段可以包含索引 66 的树。

在样例 #2 中,无法用 22 个连续段得到总和 1010

在样例 #3 中,第一个连续段可以包含索引 {1,2}\{1, 2\} 的树,第二个连续段可以包含索引 {5,6}\{5, 6\} 的树。我们不能取 2+3+32 + 3 + 3 的组合(索引 {1,3,5}\{1, 3, 5\} 的树),因为那将是 33 个连续段。

在样例 #4 中,唯一的连续段包含索引 {1,2,3}\{1, 2, 3\} 的树。

限制条件

1T1001 \le T \le 100

对于每个 ii11NN0BiK0 \le B_i \le K

测试集 1

1K1041 \le K \le 10^4

1N501 \le N \le 50

测试集 2

1K1041 \le K \le 10^4

1N5001 \le N \le 500

测试集 3

1K1061 \le K \le 10^6

最多 2525 个测试用例满足:

1N50001 \le N \le 5000

其余测试用例满足:

1N5001 \le N \le 500

翻译由 DeepSeek V4 Pro 完成