Cod sursa(job #164226)

Utilizator andrei-alphaAndrei-Bogdan Antonescu andrei-alpha Data 23 martie 2008 18:52:31
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <stdio.h>
#define N 50010
int v[N],sum[N];
int n,k,i,suma,s,sb,db,max;
void scan()
{
	freopen("secv2.in", "r",stdin);
	freopen("secv2.out", "w",stdout);
	scanf("%d%d", &n,&k);
	for(int i=1;i<=n;++i)
	{
		scanf("%d", &v[i]);
		sum[i]=sum[i-1]+v[i];
	}	
}
void solve()
{
	max=sum[k];
	sb=1;
	db=k;
	suma=sum[k];
	s=1;
	for(i=k+1;i<=n;++i)
	{
		suma+=v[i];
		if(suma<sum[i]-sum[i-k])
		{
			suma=sum[i]-sum[i-k];
			s=i-k+1;
		}
		if(suma>max)
		{
			max=suma;
			sb=s;
			db=i;
		}
	}
}	
void print()
{
	printf("%d %d %d\n",sb,db,max);
}
int main()
{
	scan();
	solve();
	print();
}