func_code_string: #include <bits/stdc++.h>   using namespace std;   int a[3509];   int n, t, m, k;   deque<int> d;   vector<int> v;   int main() {     scanf( %d , &t);     for (int i = 0; i < t; i++) {       scanf( %d%d%d , &n, &m, &k);       for (int j = 0; j < n; j++) scanf( %d , &a[j]);       int g = n - m + 1;       v.clear();       for (int j = g - 1; j < n; j++) v.push_back(max(a[j - g + 1], a[j]));       int vlen = v.size();       int g2 = vlen - k;       g2 = max(1, g2);       d.clear();       for (int i = 0; i < g2; i++) {         if (!d.empty()) {           while (!d.empty() && d.back() > v[i]) d.pop_back();         }         d.push_back(v[i]);       }       int ans = d.front();       for (int i = g2; i < vlen; i++) {         if (!d.empty() && d.front() == v[i - g2]) {           d.pop_front();         }         while (!d.empty() && d.back() > v[i]) d.pop_back();         d.push_back(v[i]);         ans = max(ans, d.front());       }       cout << ans <<   n ;     }     return 0;   }   