Cod sursa(job #361719)

Utilizator Teodor94Teodor Plop Teodor94 Data 6 noiembrie 2009 12:39:39
Problema Secventa 2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <cstdio>

const int N=(1<<16);

int a[N],s[N];

int main()
{
	freopen("secv2.in","r",stdin);
	freopen("secv2.out","w",stdout);
	int n,k,i;
	scanf("%d%d",&n,&k);
	for (i=1;i<=n;i++)
		scanf("%d",&a[i]);
	for (i=1;i<=n;i++)
		s[i]=s[i-1]+a[i];
	int sc=0,smax=-(1<<30),ic=1,sfmax,icmax;
	for (i=1;i<=k;i++)
		sc+=a[i];
	for (i=k;i<=n;i++)
	{
		if (sc+a[i]>s[i]-s[i-k])
			sc+=a[i];
		else
		{
			sc=s[i]-s[i-k];
			ic=i-k+1;
		}
		if (sc>smax)
		{
			sfmax=i;
			icmax=ic;
			smax=sc;
		}
	}
	printf("%d %d %d",icmax,sfmax,smax);
	return 0;
}