Cod sursa(job #362844)

Utilizator liv182copoiu liviu liv182 Data 11 noiembrie 2009 10:22:38
Problema Secventa 2 Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
int main()
{   
	freopen("secv2.in","r",stdin);
	freopen("secv2.out","w",stdout);
	
	int p,a,b,k,n,v[1<<16],sc=0,sc1=0,scmax=0,s[1<<16];
	scanf("%d %d",&n,&k);
	s[0]=0;
	for(int i=1;i<=n;++i) 
	{
		scanf("%d",&v[i]);
		s[i]=s[i-1]+v[i];
	}
	sc=scmax=s[k];
	p=1;
	a=1;
	b=k;
	for(int i=k+1;i<=n;++i)
	{
		if(sc+v[i]>s[i]-s[i-k])
		{
			sc=sc+v[i];
		}
		else
		{
			p=i-k+1;
			sc=s[k]-s[i-k];
		}
		if(scmax<sc)
		{
			scmax=sc;
			a=p;
			b=i;
		}
	}
	printf("%d %d %d\n",a,b,scmax);
	return 0;

}