Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define int long long
- using namespace std;
- void input(vector<int>& vec) {
- int a=0;
- int i=0;
- for(i=0;i < vec.size();i++) {
- cin>>a;
- vec.at(i) = a;
- }
- }
- void output(vector<int> vec) {
- for(auto x : vec)
- cout<<x<<" ";
- cout<<endl;
- }
- signed main() {
- int t=0;
- cin>>t;
- while(t--) {
- int n=0;
- int m=0;
- int k=0;
- int a=0;
- int b=0;
- int c=0;
- int d=0;
- int x=0;
- int y=0;
- int z=0;
- int w=0;
- int i=0;
- int j=0;
- string s;
- string u;
- bool check=false;
- cin>>n>>k;
- vector<int> vec(n);
- input(vec);
- a=0;
- b=0;
- c=0;
- vector<int> vecoo;
- for(i=0;i<n;i++) {
- if(vec[i] <= k)
- a++;
- b = (i+2);
- b /= 2;
- if(a >= b) {
- x=0;
- y=0;
- z=0;
- w=-1;
- j=i;
- j++;
- while(j < (n-2)) {
- if(vec[j] <= k)
- x++;
- else
- y++;
- vecoo.push_back(vec[j]);
- int lol = (j+2)/2;
- if(y-x > z && (a+x) >= lol) {
- z = (y-x);
- w = j;
- }
- j++;
- }
- i = max(i, w);
- break;
- }
- }
- for(auto x : vecoo) {
- if(w == -1)
- break;
- if(x <= k) {
- m = -1;
- break;
- }
- }
- if(m == -1) {
- cout<<"YES"<<endl;
- continue;
- }
- i++;
- if(i <= (n-2)) {
- a=0;
- b=0;
- c=0;
- vector<int> veco;
- for(;i<n;i++) {
- c++;
- if(vec[i] <= k)
- a++;
- b = (c+1);
- b /= 2;
- if(a >= b)
- break;
- veco.push_back(vec[i]);
- }
- if(i < n) {
- cout<<"YES"<<endl;
- continue;
- }
- else {
- reverse(veco.begin(), veco.end());
- a=0;
- b=0;
- c=0;
- for(i=0;i < veco.size();i++) {
- c++;
- if(veco[i] <= k)
- a++;
- b = (c+1);
- b /= 2;
- if(a >= b)
- break;
- }
- if(i < veco.size()) {
- cout<<"YES"<<endl;
- continue;
- }
- }
- }
- reverse(vec.begin(), vec.end());
- a=0;
- b=0;
- c=0;
- vecoo.clear();
- for(i=0;i<n;i++) {
- if(vec[i] <= k)
- a++;
- b = (i+2);
- b /= 2;
- if(a >= b) {
- x=0;
- y=0;
- z=0;
- w=-1;
- j=i;
- j++;
- while(j < (n-2)) {
- if(vec[j] <= k)
- x++;
- else
- y++;
- vecoo.push_back(vec[j]);
- int lol = (j+2)/2;
- if(y-x > z && (a+x) >= lol) {
- z = (y-x);
- w = j;
- }
- j++;
- }
- i = max(i, w);
- break;
- }
- }
- for(auto x : vecoo) {
- if(w == -1)
- break;
- if(x <= k) {
- m = -1;
- break;
- }
- }
- if(m == -1) {
- cout<<"YES"<<endl;
- continue;
- }
- i++;
- if(i <= (n-2)) {
- a=0;
- b=0;
- c=0;
- vector<int> veco;
- for(;i<n;i++) {
- c++;
- if(vec[i] <= k)
- a++;
- b = (c+1);
- b /= 2;
- if(a >= b)
- break;
- veco.push_back(vec[i]);
- }
- if(i < n) {
- cout<<"YES"<<endl;
- continue;
- }
- else {
- reverse(veco.begin(), veco.end());
- a=0;
- b=0;
- c=0;
- for(i=0;i < veco.size();i++) {
- c++;
- if(veco[i] <= k)
- a++;
- b = (c+1);
- b /= 2;
- if(a >= b)
- break;
- }
- if(i < veco.size()) {
- cout<<"YES"<<endl;
- continue;
- }
- else
- cout<<"NO"<<endl;
- }
- }
- else {
- cout<<"NO"<<endl;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement