int quadri(int N, long long M, int V[]) {
    // Scrivete qui la vostra soluzione
    int B = 42;
    long long a = 0, b = 0;
    int i = 0;
    int j = 0;
    int l = 0;
    
    while (a <= M and b <= M)
	{
		i += 1;
    	a += V[i-1];
    	b += V[N-i];
	}
	
    a -= V[i-1];
    b -= V[N-i];
    B = i - 1;
	
	if (i == 1) return 0;
	
	while (j < (N-2))
	{
		a += V[j + (i-1)];
		b += V[N-(i+j)];
		
		if (a > M or b > M){
			while (l <= j)
			{
				a -= V[l];
				b -= V[N-(l+1)];
				l += 1;
			}
		}
		
		while (a > M or b > M)
		{
			a -= V[l];
			b -= V[N-(l+1)];
			l += 1;
			i -= 1;
		}
		
		j += 1;
	}
    
    if (i < B) B = i;
    
    return B;
}
