#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
template <class T>
using ord_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
typedef long long ll;
#define endl '\n'
#define pb push_back
#define eb emplace_back
#define ff first
#define ss second
const int MAXN = 2e5 + 10;
ll n, k, a[MAXN], prefix[MAXN+1];
ll count(ll m) {
prefix[0] = 0;
for (int i = 1; i <= n; i++) {
// Contar elementos <= m (mediana <= m)
prefix[i] = prefix[i-1] + (a[i-1] <= m ? 1 : -1);
}
ll ans = 0;
ord_set<pair<ll,int>> s;
s.insert({0, -1}); // prefixo vazio
for (int i = 1; i <= n; i++) {
// quantos prefixos anteriores <= prefix[i] ?
ans += s.order_of_key({prefix[i] + 1, -1});
s.insert({prefix[i], i});
}
return ans;
}
bool check(ll m) {
if (count(m) >= k) return true;
else return false;
}
signed main() {
ios_base::sync_with_stdio(0);cin.tie(0);
cin >> n >> k;
for (int i = 0; i < n; i++) cin >> a[i];
ll l = 1, r = 1e9 + 5;
while (l < r) {
ll m = l + (r - l) / 2;
if (check(m)) r = m;
else l = m + 1;
}
cout << l << endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxleHQvcGJfZHMvYXNzb2NfY29udGFpbmVyLmhwcD4KI2luY2x1ZGUgPGV4dC9wYl9kcy90cmVlX3BvbGljeS5ocHA+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIG5hbWVzcGFjZSBfX2dudV9wYmRzOwoKdGVtcGxhdGUgPGNsYXNzIFQ+CnVzaW5nIG9yZF9zZXQgPSB0cmVlPFQsIG51bGxfdHlwZSwgbGVzczxUPiwgcmJfdHJlZV90YWcsIHRyZWVfb3JkZXJfc3RhdGlzdGljc19ub2RlX3VwZGF0ZT47Cgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKCiNkZWZpbmUgZW5kbCAnXG4nCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgZWIgZW1wbGFjZV9iYWNrCiNkZWZpbmUgZmYgZmlyc3QKI2RlZmluZSBzcyBzZWNvbmQKCmNvbnN0IGludCBNQVhOID0gMmU1ICsgMTA7CmxsIG4sIGssIGFbTUFYTl0sIHByZWZpeFtNQVhOKzFdOwoKbGwgY291bnQobGwgbSkgewogICAgcHJlZml4WzBdID0gMDsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgIC8vIENvbnRhciBlbGVtZW50b3MgPD0gbSAobWVkaWFuYSA8PSBtKQogICAgICAgIHByZWZpeFtpXSA9IHByZWZpeFtpLTFdICsgKGFbaS0xXSA8PSBtID8gMSA6IC0xKTsKICAgIH0KICAgIGxsIGFucyA9IDA7CiAgICBvcmRfc2V0PHBhaXI8bGwsaW50Pj4gczsgCiAgICBzLmluc2VydCh7MCwgLTF9KTsgLy8gcHJlZml4byB2YXppbwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgLy8gcXVhbnRvcyBwcmVmaXhvcyBhbnRlcmlvcmVzIDw9IHByZWZpeFtpXSA/CiAgICAgICAgYW5zICs9IHMub3JkZXJfb2Zfa2V5KHtwcmVmaXhbaV0gKyAxLCAtMX0pOwogICAgICAgIHMuaW5zZXJ0KHtwcmVmaXhbaV0sIGl9KTsKICAgIH0KICAgIHJldHVybiBhbnM7Cn0KCmJvb2wgY2hlY2sobGwgbSkgewogICAgaWYgKGNvdW50KG0pID49IGspIHJldHVybiB0cnVlOwogICAgZWxzZSByZXR1cm4gZmFsc2U7Cn0KCnNpZ25lZCBtYWluKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTtjaW4udGllKDApOwogICAgY2luID4+IG4gPj4gazsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSBjaW4gPj4gYVtpXTsKICAgIGxsIGwgPSAxLCByID0gMWU5ICsgNTsKICAgIHdoaWxlIChsIDwgcikgewogICAgICAgIGxsIG0gPSBsICsgKHIgLSBsKSAvIDI7CiAgICAgICAgaWYgKGNoZWNrKG0pKSByID0gbTsKICAgICAgICBlbHNlIGwgPSBtICsgMTsKICAgIH0KICAgIGNvdXQgPDwgbCA8PCBlbmRsOwp9Cg==