题目背景
加强版
对于一个长度为 n 的序列 a ,定义 a 的极差表示 a 中最大值与最小值之差;定义 C(a,l,r) 表示 a 的连续子序列 [al,al+1,…,ar],其中 1≤l≤r≤n。
题目描述
给定一个长度为 n 的序列 a。
你需要选出 a 的 k 个长度均为 L (1≤L≤n−k+1) 的不同连续子序列
$C(a,l_1,l_1+L-1),C(a,l_2,l_2+L-1),\dots,C(a,l_k,l_k+L-1)$,其中 1≤l1<l2<⋯<lk≤n−L+1。
记这 k 个子序列中极差的最小值为 X,你需要求出 X 的最大值。同时,你还需要求出,在满足 X 最大的情况下 L 的最小值。
输入格式
本题有多组测试数据。
第一行一个整数 T,表示测试数据组数。
对于每组测试数据:
- 第一行两个整数 n,k。
- 第二行 n 个整数 a1,a2,...,an。
输出格式
对于每组测试数据:
- 一行两个整数 X,L,表示所求极差和子序列长度。
3
5 1
1 2 3 4 5
5 2
1 2 3 4 5
5 3
1 2 3 4 5
4 5
3 4
2 3
2
5 1
1 2 2 2 3
5 2
1 2 2 2 3
2 5
1 2
提示
【样例 1 解释】
- k=1 时,极差最大不超过 4,此时满足长度最短的一种方案为 [1,2,3,4,5]。
- k=2 时,极差最大不超过 3,此时满足长度最短的一种方案为 [1,2,3,4],[2,3,4,5]。
- k=3 时,极差最大不超过 2,此时满足长度最短的一种方案为 [1,2,3],[2,3,4],[3,4,5]。
【数据规模与约定】
本题采用捆绑测试。
子任务 |
分值 |
n≤ |
k≤ |
特殊性质 |
1 |
5 |
105 |
n |
ai 均相等 |
2 |
1 |
数据随机生成 |
3 |
10 |
100 |
n |
所求的 X 不超过 103 |
4 |
20 |
无 |
5 |
104 |
6 |
40 |
105 |
对于 100% 的数据,1≤T≤10,1≤n≤105,1≤k≤n,−109≤ai≤109。