#include <bits/stdc++.h>

using namespace std;

int quadri(int N, long long M, int V[]) {
    vector<long long> pref(N);
    pref[0] = V[0];
    if (V[0] > M) return 0;
    for (int i = 1; i < N; i++) {
        if (V[i] > M) return 0;
        pref[i] = pref[i-1] + V[i];
    }

    int l = 1, r = N;

    while (l + 1 < r) {
        int m = (l + r) / 2;
        bool ok = true;
        for (int i = m - 1; i < N; i++) {
            long long sum;
            if (i != m - 1) sum = pref[i] - pref[i - m];
            else sum = pref[i];
            if (sum > M) {ok = false; break;}
        }
        if (ok) {
            if (m + 1 == N) return N;
            l = m;
            
        } else {
            r = m;
        }
        //cout << l << " " << r << endl;
    }
    return l;
}

int main() {
    int V[4] = {1, 2, 3, 4};
    cout << quadri(4, 8, V);
}