Cod sursa(job #642787)

Utilizator ValidatorPopescu Vali Validator Data 2 decembrie 2011 10:56:59
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<stdio.h>
int n, x[50010],s[50010],s1[50010],k,st,dr,i,j,smax,p,u,sum;
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",&x[i]);
			s[i]=s[i-1]+x[i];
		}
	
	smax=sum=s[k];p=st=1;u=dr=k;
	for(i=k+1;i<=n;i++)
		{
			if(sum+x[i]>s[i]-s[i-k])
			{
				sum+=x[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;
	
}