Cod sursa(job #109292)

Utilizator GagosGagos Radu Vasile Gagos Data 25 noiembrie 2007 10:02:22
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<stdio.h>
#define I "secv2.in"
#define O "secv2.out"
long int n,k,i,val,start,st,dr,rez,a[50000],s[50000];
int main()
{
	FILE *f=fopen(I,"r");
	FILE *g=fopen(O,"w");
	fscanf(f,"%ld%ld",&n,&k);
	for(i=1;i<=n;++i){
		fscanf(f,"%ld",&a[i]);
		s[i]=s[i-1]+a[i];
	}
	rez=s[k];
	st=1;
	dr=k;
	val=s[k];
	start=1;
	for(i=k+1;i<=n;++i){
		val=val+a[i];
		if(val<s[i]-s[i-k]){
			val=s[i]-s[i-k];
			start=i-k+1;
		}
		if(rez<val){
			rez=val;
			st=start;
			dr=i;
		}
	}
	fprintf(g,"%ld %ld %ld",st,dr,rez);
	fcloseall();
	return 0;
}