#include #define MAX 10000 long int Input[MAX]; int N,K; int isPossible(long int l) { int i,k; for ( i=0, k=K; k>0 && i0) return 0; return 1; } long int binSrch(long int low, long int high) { long int mid, ans; ans = mid = 0; while(low <= high) { mid = (low+high)/2; if(isPossible(mid)==1) { ans = mid; /* Stores last successful value */ low = mid+1; } else { high = mid - 1; } } return ans; } int main() { int i; long int max; /* Get Input */ scanf("%d %d", &N, &K); scanf("%ld", &Input[0]); max = Input[0]; for ( i = 1; imax?Input[i]:max; } printf("%ld\n", binSrch(0, max)); return 0; }