Advertisement
Dynonychus

Div 2. C [WA]

Apr 23rd, 2025 (edited)
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.28 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define int long long
  3.  
  4. using namespace std;
  5.  
  6. void input(vector<int>& vec) {
  7.     int a=0;
  8.     int i=0;
  9.    
  10.     for(i=0;i < vec.size();i++) {
  11.         cin>>a;
  12.         vec.at(i) = a;
  13.     }
  14. }
  15.  
  16. void output(vector<int> vec) {
  17.     for(auto x : vec)
  18.     cout<<x<<" ";
  19.    
  20.     cout<<endl;
  21. }
  22.  
  23. signed main() {
  24.     int t=0;
  25.     cin>>t;
  26.    
  27.     while(t--) {
  28.         int n=0;
  29.         int m=0;
  30.         int k=0;
  31.         int a=0;
  32.         int b=0;
  33.         int c=0;
  34.         int d=0;
  35.         int x=0;
  36.         int y=0;
  37.         int z=0;
  38.         int w=0;
  39.         int i=0;
  40.         int j=0;
  41.         string s;
  42.         string u;
  43.         bool check=false;
  44.        
  45.         cin>>n>>k;
  46.         vector<int> vec(n);
  47.        
  48.         input(vec);
  49.        
  50.         a=0;
  51.         b=0;
  52.         c=0;
  53.        
  54.         vector<int> vecoo;
  55.        
  56.         for(i=0;i<n;i++) {
  57.             if(vec[i] <= k)
  58.             a++;
  59.            
  60.             b = (i+2);
  61.             b /= 2;
  62.            
  63.             if(a >= b) {
  64.                 x=0;
  65.                 y=0;
  66.                 z=0;
  67.                 w=-1;
  68.                
  69.                 j=i;
  70.                 j++;
  71.                
  72.                 while(j < (n-2)) {
  73.                     if(vec[j] <= k)
  74.                     x++;
  75.                    
  76.                     else
  77.                     y++;
  78.                    
  79.                     vecoo.push_back(vec[j]);
  80.                    
  81.                     int lol = (j+2)/2;
  82.                    
  83.                     if(y-x > z && (a+x) >= lol) {
  84.                         z = (y-x);
  85.                         w = j;
  86.                     }
  87.                    
  88.                     j++;
  89.                 }
  90.                
  91.                 i = max(i, w);
  92.                 break;
  93.             }
  94.         }
  95.        
  96.         for(auto x : vecoo) {
  97.             if(w == -1)
  98.             break;
  99.            
  100.             if(x <= k) {
  101.                 m = -1;
  102.                 break;
  103.             }
  104.         }
  105.        
  106.         if(m == -1) {
  107.             cout<<"YES"<<endl;
  108.             continue;
  109.         }
  110.        
  111.         i++;
  112.        
  113.         if(i <= (n-2)) {
  114.             a=0;
  115.             b=0;
  116.             c=0;
  117.            
  118.             vector<int> veco;
  119.            
  120.             for(;i<n;i++) {
  121.                 c++;
  122.                
  123.                 if(vec[i] <= k)
  124.                 a++;
  125.                
  126.                 b = (c+1);
  127.                 b /= 2;
  128.                
  129.                 if(a >= b)
  130.                 break;
  131.                
  132.                 veco.push_back(vec[i]);
  133.             }
  134.            
  135.             if(i < n) {
  136.                 cout<<"YES"<<endl;
  137.                 continue;
  138.             }
  139.            
  140.             else {
  141.                 reverse(veco.begin(), veco.end());
  142.                
  143.                 a=0;
  144.                 b=0;
  145.                 c=0;
  146.                
  147.                 for(i=0;i < veco.size();i++) {
  148.                     c++;
  149.                    
  150.                     if(veco[i] <= k)
  151.                     a++;
  152.                    
  153.                     b = (c+1);
  154.                     b /= 2;
  155.                    
  156.                     if(a >= b)
  157.                     break;
  158.                 }
  159.                
  160.                 if(i < veco.size()) {
  161.                     cout<<"YES"<<endl;
  162.                     continue;
  163.                 }
  164.             }
  165.         }
  166.        
  167.         reverse(vec.begin(), vec.end());
  168.        
  169.         a=0;
  170.         b=0;
  171.         c=0;
  172.        
  173.         vecoo.clear();
  174.        
  175.         for(i=0;i<n;i++) {
  176.             if(vec[i] <= k)
  177.             a++;
  178.            
  179.             b = (i+2);
  180.             b /= 2;
  181.            
  182.             if(a >= b) {
  183.                 x=0;
  184.                 y=0;
  185.                 z=0;
  186.                 w=-1;
  187.                
  188.                 j=i;
  189.                 j++;
  190.                
  191.                 while(j < (n-2)) {
  192.                     if(vec[j] <= k)
  193.                     x++;
  194.                    
  195.                     else
  196.                     y++;
  197.                    
  198.                     vecoo.push_back(vec[j]);
  199.                    
  200.                     int lol = (j+2)/2;
  201.                    
  202.                     if(y-x > z && (a+x) >= lol) {
  203.                         z = (y-x);
  204.                         w = j;
  205.                     }
  206.                    
  207.                     j++;
  208.                 }
  209.                
  210.                 i = max(i, w);
  211.                 break;
  212.             }
  213.         }
  214.        
  215.         for(auto x : vecoo) {
  216.             if(w == -1)
  217.             break;
  218.            
  219.             if(x <= k) {
  220.                 m = -1;
  221.                 break;
  222.             }
  223.         }
  224.        
  225.         if(m == -1) {
  226.             cout<<"YES"<<endl;
  227.             continue;
  228.         }
  229.        
  230.         i++;
  231.        
  232.         if(i <= (n-2)) {
  233.             a=0;
  234.             b=0;
  235.             c=0;
  236.            
  237.             vector<int> veco;
  238.            
  239.             for(;i<n;i++) {
  240.                 c++;
  241.                
  242.                 if(vec[i] <= k)
  243.                 a++;
  244.                
  245.                 b = (c+1);
  246.                 b /= 2;
  247.                
  248.                 if(a >= b)
  249.                 break;
  250.                
  251.                 veco.push_back(vec[i]);
  252.             }
  253.            
  254.             if(i < n) {
  255.                 cout<<"YES"<<endl;
  256.                 continue;
  257.             }
  258.            
  259.             else {
  260.                 reverse(veco.begin(), veco.end());
  261.                
  262.                 a=0;
  263.                 b=0;
  264.                 c=0;
  265.                
  266.                 for(i=0;i < veco.size();i++) {
  267.                     c++;
  268.                    
  269.                     if(veco[i] <= k)
  270.                     a++;
  271.                    
  272.                     b = (c+1);
  273.                     b /= 2;
  274.                    
  275.                     if(a >= b)
  276.                     break;
  277.                 }
  278.                
  279.                 if(i < veco.size()) {
  280.                     cout<<"YES"<<endl;
  281.                     continue;
  282.                 }
  283.                
  284.                 else
  285.                 cout<<"NO"<<endl;
  286.             }
  287.         }
  288.        
  289.         else {
  290.             cout<<"NO"<<endl;
  291.         }
  292.     }
  293.    
  294.     return 0;
  295. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement