CF1676F.Longest Strike
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Given an array a of length n and an integer k , you are tasked to find any two numbers l and r ( l≤r ) such that:
- For each x (l≤x≤r) , x appears in a at least k times (i.e. k or more array elements are equal to x ).
- The value r−l is maximized.
If no numbers satisfy the conditions, output -1.
For example, if a=[11,11,12,13,13,14,14] and k=2 , then:
- for l=12 , r=14 the first condition fails because 12 does not appear at least k=2 times.
- for l=13 , r=14 the first condition holds, because 13 occurs at least k=2 times in a and 14 occurs at least k=2 times in a .
- for l=11 , r=11 the first condition holds, because 11 occurs at least k=2 times in a .
A pair of l and r for which the first condition holds and r−l is maximal is l=13 , r=14 .
输入格式
The first line of the input contains a single integer t ( 1≤t≤1000 ) — the number of test cases. The description of test cases follows.
The first line of each test case contains the integers n and k ( 1≤n≤2⋅105 , 1≤k≤n ) — the length of the array a and the minimum amount of times each number in the range [l,r] should appear respectively.
Then a single line follows, containing n integers describing the array a ( 1≤ai≤109 ).
It is guaranteed that the sum of n over all test cases does not exceed 2⋅105 .
输出格式
For each test case output 2 numbers, l and r that satisfy the conditions, or "-1" if no numbers satisfy the conditions.
If multiple answers exist, you can output any.
输入输出样例
输入#1
4 7 2 11 11 12 13 13 14 14 5 1 6 3 5 2 1 6 4 4 3 4 3 3 4 14 2 1 1 2 2 2 3 3 3 3 4 4 4 4 4
输出#1
13 14 1 3 -1 1 4