Cod sursa(job #21063)

Utilizator hellraizerChiperi Matei hellraizer Data 22 februarie 2007 21:04:30
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>

#define N_MAX 50001
#define INF -1250000001

int n,k,a[N_MAX],p[N_MAX],s[N_MAX];

int main(){
	int i,x,max;
	FILE *fin=fopen("secv2.in","r");
	fscanf(fin,"%d %d",&n,&k);
	for (i=1;i<k;i++){
		fscanf(fin,"%d",&x);
		s[i]=s[i-1]+x;
		a[i]=INF;
	}
	for (i=k;i<=n;i++){
		fscanf(fin,"%d",&x);
		a[i]=a[i-1]+x;
		p[i]=p[i-1];
		s[i]=s[i-1]+x;
		if (s[i]-s[i-k]>a[i]){
			a[i]=s[i]-s[i-k];
			p[i]=i-k+1;
		}
	}
	fclose(fin);
	x=k;max=a[k];
	for (i=k;i<=n;i++)
		if (a[i]>max){
			max=a[i];
			x=i;
		}
	FILE *fout=fopen("secv2.out","w");
	fprintf(fout,"%d %d %d\n",p[x],x,a[x]);
	fclose(fout);
	return 0;
}