参考:Codeforces Round #641 Div1.B Orac and Medians 中文题解
解题的关键在于,要找到其中的规律,然后就可以直接暴力了。
感觉找规律的技巧在于——对解决方法进行分类即可,以小化大。
// Created by CAD on 2020/5/12.
#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
int a[maxn],b[maxn];
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int t;cin>>t;
while(t--){
int n,k;cin>>n>>k;
bool flag=0;
for(int i=1;i<=n;++i) {
cin>>a[i];
if(a[i]<k) b[i]=-1;
else if(a[i]==k) b[i]=0,flag=1;
else b[i]=1;
}
if(flag){
if(n==1){
puts("yes");
continue;
}
flag=0;
for(int i=1;i<=n;++i){
if(b[i]<0) continue;
for(int j=i;j<=i+2;++j)
if(j>n) continue;
else if(i==j) continue;
else if(b[j]>=0) flag=1;
}
puts(flag?"yes":"no");
}
else puts("no");
}
return 0;
}
原文链接: https://www.cnblogs.com/cader/p/12885676.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/348271
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!