#include <bits/stdc++.h>   using namespace std;   long long n, k, l, r, mid, ans;   long long a[200100];   bool check(long long x) {     long long p, q;     double sum = 0, s;     for (long long i = 1; i <= n; i++) {       if (a[i] == 0) continue;       s = a[i];       if (a[i] >= k) return 1;       p = x - 1;       q = n - i + x - 1;       p = min(p, q - p);       while (p) {         s = s * q / p;         p--;         q--;         if (s >= k) return 1;       }       sum += s;       if (sum >= k) return 1;     }     return 0;   }   int main() {     scanf( %I64d%I64d , &n, &k);     for (int i = 1; i <= n; i++) {       scanf( %I64d , &a[i]);       if (a[i] >= k) {         puts( 0 );         return 0;       }     }     l = 1;     r = k;     while (l <= r) {       mid = (l + r) >> 1;       if (check(mid)) {         ans = mid;         r = mid - 1;       } else         l = mid + 1;     }     printf( %I64d n , ans);     return 0;   }   