Cod sursa(job #391222)

Utilizator joli94Apostol Adrian Alexandru joli94 Data 5 februarie 2010 12:30:14
Problema Secventa 2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<cstdio>
int main()
{
	freopen("secv2.in","r",stdin);
	freopen("secv2.out","w",stdout);
	int n,k,i,sc,m,smax=-(1<<30),imax,fmax,ii,s[1<<17];
	scanf("%d %d",&n,&k);
	sc=0; s[0]=0; 
	for( i=1; i<=n; i++)
	{
		scanf("%d",&m);
		s[i]=s[i-1]+m;
		if(i>=k && s[i]-s[i-k]>sc+m)//s[i]-s[i-k]=suma ultimilor exact k, iar sc+m=suma ultimilor cel putin k+1
		{
			ii=i-k+1;
			sc=s[i]-s[i-k];
		}
		else
			sc=sc+m;
		if (i>=k && sc>smax)
		{
			smax=sc;
			imax=ii;
			fmax=i;
		}
	}
	printf("%d %d %d",imax,fmax,smax);
	return 0;
}