码迷,mamicode.com
首页 > 其他好文 > 详细

Orac and Medians

时间:2020-05-14 01:56:57      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:ble   flag   contest   name   bool   main   解决方法   ios   else   

D - Orac and Medians

参考: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;
}

Orac and Medians

标签:ble   flag   contest   name   bool   main   解决方法   ios   else   

原文地址:https://www.cnblogs.com/CADCADCAD/p/12885676.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!