Ho risolto da solo grazie

#include <bits/stdc++.h>

using namespace std;

int main()
{
	int N, k, s=0, ma=-10000, z=0;
	
	cin>>N>>k;
	int vet[N];
	
	for(int i=0; i<N; i++)
	{
		cin>>vet[i];
	}
	for(int i=0; i<N; i++)
	{
		s+=vet[i];
		z++;
		if(z==k)
		{
			if(ma<s)
			{
				ma=s;
			}
			s=0;
			z=0;
			i=i-(k-1);
		}
	}
	cout<<ma;
}

Salve, il problema di questo codice non è semplificare ma sono 2 piccole cose:

  1. Sicuro/a che -10000 sia il valore più basso raggiunto dalla somma dei muffin? Cosa succederebbe se avessi N = 10^6 mufffin con K = N tutti con un valore di −1000 ?
  2. La tua soluzione è O(N * K) ed è troppo lenta per ottenere il punteggio pieno. Devi optare per una soluzione O(N) oppure O(N log N).