#P15749. 实验楼爆破计划

实验楼爆破计划

题目描述

KAIST 的主路旁排着 NN 栋建筑,从左到右编号为 11NN,第 ii 栋建筑高度为 hih_i

从最左侧观察时,第 ii 栋建筑可见,当且仅当它左侧所有建筑的高度都严格小于 hih_i

研究员 Min 的实验室位于第 LL 栋建筑。Min 喜欢数字 KK,因此她希望自己的实验楼成为“从左侧可见的建筑中,第 KK 高的那一栋”。为了实现这个目标,她可以爆破并移除若干栋建筑。

请你求出至少需要爆破多少栋建筑,才能让第 LL 栋建筑成为从左侧可见建筑中的第 KK 高建筑。如果无论如何都做不到,输出 -1

注意,“第 KK 高”指在最终仍然存在且从左侧可见的建筑中,按高度从高到低排序后排第 KK。第 LL 栋建筑本身不能被爆破。

例如,若 N=7N=7,高度为 [10,30,90,40,60,60,80][10,30,90,40,60,60,80],实验室位于 L=2L=2,且 K=3K=3。爆破第 33 栋和第 77 栋后,从左侧可见的建筑为 1,2,4,51,2,4,5,其中第 22 栋建筑正好是第 33 高的可见建筑。

输入格式

第一行包含三个整数 N,L,KN,L,K

第二行包含 NN 个整数 h1,h2,,hNh_1,h_2,\ldots,h_N

输出格式

输出一个整数,表示最少需要爆破的建筑数量。若无法实现目标,输出 -1

数据范围

  • 1LN1000001\le L\le N\le 100000
  • 1K101\le K\le 10
  • 1hi1091\le h_i\le 10^9

样例 1

输入

7 2 3
10 30 90 40 60 60 80

输出

2

样例 2

输入

3 2 2
30 20 10

输出

-1