Cod sursa(job #540936)

Utilizator dragomirdragomir alex dragomir Data 24 februarie 2011 17:29:58
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<stdio.h>
int a[50005],s[50005],i,n,k,smax,sum,st,dr,p,u;
int main()
{
	freopen("secv2.in","r",stdin);
	freopen("secv2.out","w",stdout);
	scanf("%d%d",&n,&k);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
		s[i]=s[i-1]+a[i];
	}
	smax=sum=s[k];
	st=p=1;
	dr=u=k;
	for(i=k+1;i<=n;i++)
	{
		if(sum+a[i]>s[i]-s[i-k])
		{
			sum=sum+a[i];
			u=i;
		}
		else
		{
			sum=s[i]-s[i-k];
			p=i-k+1;
			u=i;
		}
		if(sum>smax)
		{
			smax=sum;
			st=p;
			dr=u;
		}
	}
	printf("%d %d %d",st,dr,smax);
	return 0;
}