Cod sursa(job #333947)

Utilizator rumburakrumburak rumburak Data 24 iulie 2009 18:03:27
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<cstdio>

const int N = (1<<16);

int n,k,v[N];

void citire()
{
	scanf("%d%d",&n,&k);
	for(int i=1;i<=n;++i)
		scanf("%d",&v[i]);
}

void calcul()
{
	int a=1,b=k,i,smax,sc=0,sk,poz;
	for(i=1;i<k;++i)
		sc+=v[i];
	sk=sc;
	smax=v[k]+sc;
	poz=1;
	for(;i<=n;++i)
	{
		if(sk>sc)
		{
			sc=sk;
			poz=i-k+1;
		}
		sc+=v[i];
		sk+=v[i]-v[i-k+1];
		if(sc>smax)
		{
			smax=sc;
			a=poz;
			b=i;
		}
	}
	printf("%d %d %d\n",a,b,smax);
}

int main()
{
	freopen("secv2.in","r",stdin);
	freopen("secv2.out","w",stdout);
	citire();
	calcul();
	return 0;
}