Cod sursa(job #373633)

Utilizator RegeleUmbrelorPopescu Mihai RegeleUmbrelor Data 14 decembrie 2009 16:27:35
Problema Secventa 2 Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>
int sp[50001], sc=0, smax, v[50001],n,k, pi,pf;
void calcul()
{
	int poz=1;
	freopen("secv2.in", "r", stdin);
	freopen("secv2.out", "w", stdout);
	scanf("%d%d", &n, &k);
	pi=1;pf=k;
	for(int i=1;i<=n;++i)
	{	
		scanf("%d", &v[i]);sp[i]=sp[i-1]+v[i];
		if(i>=k)
		{
			if(i==k)
				smax=sp[k];
			if(sc+v[i]>sp[i]-sp[i-k])
				sc+=v[i];
			else 
			{	
				sc=sp[i]-sp[i-k];
				poz=i-k+1;
			}
			if(sc>smax)
			{	
				sc=smax;
				pi=poz;pf=i;
			}
		}
	}
}

int main()
{
	calcul();
	printf("%d %d %d", pi,pf,smax);
	return 0;
}