CF1468H K and Medians 题解

每次删数都会删恰好 (k-1) 个,所以删的数总个数必须是 (k-1) 的倍数。考虑最终状态,如果所有数左边不足 (\frac{k-1}{2}) 个删掉的数或右边不足 (\frac{k-1}{2}) 个删掉的数,那么最后一步是无法实现的。否则,实现了最后一步之后,就可以很轻松的实现前面那些步(可以把最后一步删掉的那些数作为中位数继续删)。所以只需要判断上面两种限制即可。

点击查看代码

#include
#include
const int N=2e5+13;
int a[N];
int main(){
int T;scanf("%d",&T);while(T--){
    int n,k,m,x;scanf("%d%d%d",&n,&k,&m);
    for(int i=1;i=(k-1)/2&&suf>=(k-1)/2){ok=1;break;}
    }
    puts(ok?"YES":"NO");
}
    return 0;
}
//H

Original: https://www.cnblogs.com/winterfrost/p/cf1468h-solution.html
Author: cunzai_zsy0531
Title: CF1468H K and Medians 题解

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/604308/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球