A66472.午枫的分割数组
普及-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
小午和小枫有一个长度为 n 的数组 a ,他们想把数组分割成前后两部分,具体分割的规则如下:
- 小午需要将数组切分成前后两部分,第一部分给小午,第二部分给小枫(长度可以任意,但不能为空)。
- 小午可以在他分到的数组中选择不超过 k1 个数,小枫可以在他分到的数组中选择不超过 k2 个数。
- 如果小午选的数中,数量最多的数的大小大于小枫选的数中数量最多的数的大小,则小午获胜;否则小枫获胜。
假设小午和小枫都会采取最优策略,使得各自所选的数中数量最多的数的大小最大。请问小午是否一定可以胜利。
输入格式
第一行输入一个正整数 n,k1,k2 (2≤n≤106,1≤k1,k2≤106) ,表示数组的初始长度。
第二行输入 n 个正整数 ai (1≤ai≤105) ,表示数组中第 i 个元素大小。
输出格式
如果小午一定可以获胜,输出 YES
,否则输出 NO
。
输入输出样例
输入#1
5 5 5 2 1 4 4 3
输出#1
YES
说明/提示
对于这一组测试数据,小午可以分割出 {2,1,4,4} 作为小午的数组,随后从中选择最后两个 4,得到数量最多的数为 4 ;小枫将从切分出的后一部分数组 {3} 中选择 3 ,得到个数最多的数字为 3 。
可以证明,这样的选择是最优的策略。所以小午获胜。