Cod sursa(job #142991)

Utilizator znakeuJurba Andrei znakeu Data 25 februarie 2008 19:24:19
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <stdio.h>
#define MAXN 50005
#define MIN -2147483647

int n,k,v[MAXN],v2[MAXN];
int main()
{
	long i=0,sum=0,e=0,s;
	FILE *in=fopen("secv2.in","r");
	FILE *out=fopen("secv2.out","w");
	
	fscanf(in,"%ld%ld",&n,&k);
	for (i=0; i<n; i++)
		fscanf(in,"%ld",&v[i]);
	
	v2[0]=v[0];
	for (i=1; i<n; i++)
		v2[i]=v2[i-1]+v[i];
	
	sum=v2[k-1]; e=k-1; 
	for (i=k; i<n; i++)
		if (v2[i]>sum)
		{
			sum=v2[i]; e=i;	
		}
		
	v2[e]=v[e];
	for (i=e-1; i>=0; i--)
		v2[i]=v2[i+1]+v[i];
	sum=v2[e-k+1]; s=e-k+1;
	for (i=e-k; i>=0; i--)
	{
		if (v2[i]>sum)
		{
			sum=v2[i]; s=i;	
		}
	}
	
	fprintf(out,"%d %d %d\n",s+1,e+1,sum);
	fclose(in);
	fclose(out);
	return 0;
}