#include #include #include using namespace std; int n, m, k; vector a; void min_u(int& d, int v) { if(d<0 || d>v) d=v; } int solve_x(int i) { int score, min_score; int s, e; score=k+a[i]; s=0; e=2*m-1; if(i<=2*m-1) e++; min_score=-1; for(;sscore) return 0; return 1; } int solve(void) { int s, e, c; int partner=-1; s=0; e=a.size()-1; for(;s<=e;) { c=(s+e)/2; if(solve_x(c)) { min_u(partner, a[c]); s=c+1; } else { e=c-1; } } return partner; } int main(void) { while(scanf("%d%d", &n, &m)==2) { scanf("%d", &k); a.resize(n-1); for(int i=0;i()); printf("%d\n", solve()); } return 0; }