Advertisement
senb1

krsu 3406 (not my code)

Mar 29th, 2023
572
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.05 KB | None | 0 0
  1. #include "bits/stdc++.h"
  2. using namespace std;
  3.  
  4. #define ar array
  5. typedef long long ll;
  6.  
  7. signed main() {
  8.     ios::sync_with_stdio(0);
  9.     cin.tie(0);
  10.  
  11.     int n;
  12.     cin >> n;
  13.     int m = 2 * n - 1;
  14.     vector<int> a(m);
  15.     for (int i = 0; i < m; i++) {
  16.         cin >> a[i];
  17.     }
  18.  
  19.     auto check = [&](int x) {
  20.         vector<int> b(m);
  21.         for (int i = 0; i < m; i++) {
  22.             b[i] = (a[i] > x);
  23.         }
  24.  
  25.         int l = 0, r = m - 1;
  26.         for (int i = 1; i < n; i++) {
  27.             if (b[i - 1] == b[i])
  28.                 l = i;
  29.         }
  30.  
  31.         for (int i = m - 1; i >= n; i--) {
  32.             if (b[i] == b[i - 1])
  33.                 r = i - 1;
  34.         }
  35.  
  36.         if (n - 1 - l <= r - n + 1) {
  37.             return (b[l] == 0);
  38.         } else {
  39.             return (b[r] == 0);
  40.         }
  41.     };
  42.  
  43.     int l = 1, r = m;
  44.     while (l < r) {
  45.         int m = (l + r) >> 1;
  46.         if (check(m))
  47.             r = m;
  48.         else
  49.             l = m + 1;
  50.     }
  51.  
  52.     cout << l << "\n";
  53. }
  54.  
  55. /*
  56.  
  57. 4
  58. 3 5 1 4 2 7 6
  59.  
  60. */
  61.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement