#include <bits/stdc++.h>   using namespace std;   long long n, a[200005];   long long k;   int main() {     scanf( %d%I64d , &n, &k);     for (int i = 1; i <= n; i++) scanf( %I64d , &a[i]);     int p;     for (p = 1; p <= n && a[p] == 0; p++)       ;     p = n - p + 1;     long long mx = 0;     for (int i = 1; i <= n; i++) mx = max(mx, a[i]);     if (p == 2)       printf( %I64d n , (k - a[n] - 1) / a[n - 1] + 1);     else if (p == 3) {       long long l = 0, r = 1.5e9;       while (l < r) {         long long md = (l + r) / 2;         long long res = md * (md + 1) / 2;         if (res < 0 || res >= k)           r = md;         else {           res *= a[n - 2];           if (res < 0 || res >= k)             r = md;           else {             res += md * a[n - 1];             if (res < 0 || res >= k)               r = md;             else if (res + a[n] >= k)               r = md;             else               l = md + 1;           }         }       }       printf( %I64d n , r);     } else {       p = n - p + 2;       int ans = 0, i;       while (mx < k) {         for (i = p; i <= n; i++) a[i] += a[i - 1], mx = max(mx, a[i]);         ans++;       }       printf( %d n , ans);     }     return 0;   }   