Cod sursa(job #123696)

Utilizator Matei14Popa-Matei Mihai Matei14 Data 17 ianuarie 2008 08:46:06
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>
int main(){
	int n,k,i,s=0,s1=0,v[50005],max,sum[50005],a,b,p,q;
	freopen("secv2.in","r",stdin);
	freopen("secv2.out","w",stdout);
	scanf("%d%d",&n,&k);
	sum[0]=0;
	for(i=1;i<=n;++i){
		scanf("%d",&v[i]);
		sum[i]=v[i]+sum[i-1];
	}
	for(i=1;i<=k;++i)
		s=s+v[i];
	max=s1=s;
	p=a=1;
	q=b=k;
	for(i=k+1;i<=n;++i){
		if(sum[i]-sum[i-k]>s1+v[i]){
			s=sum[i]-sum[i-k];
			p=i-k+1;
			q=i;
		}
		else{
			s=s1+v[i];
			q=i;
		}
		s1=s;
		if(s>max){
			max=s;
			a=p;
			b=q;
		}
	}
	printf("%d %d %d\n",a,b,max);
	fclose(stdin);
	fclose(stdout);
	return 0;
}