Cod sursa(job #52720)

Utilizator arenakadaffKadaff arenakadaff Data 19 aprilie 2007 19:06:53
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>

long long max , smin , s1 , s2 , x , y , xmin ;
int v[50008] ;

int main()
{
	long int n , k , i ;
	FILE *in , *out ;
	in = fopen("secv2.in" , "rt") ;
	out = fopen("secv2.out" , "wt") ;
	fscanf(in , "%ld %ld" , &n , &k) ;
	for(i = 1 ; i <= k ; i++)
	{
		fscanf(in , "%d" , &v[i]) ;
		s2 += v[i] ;
	}
	max = s2 ;
	x = 1 ;
	y = k ;
	smin = 1000000 ;
	for( ; i <= n ; i++)
	{
		fscanf(in , "%d" , &v[i]) ;
		s2 += v[i] ;
		s1 += v[i-k] ;
		if(s1 < smin)
		{
			smin = s1 ;
			xmin = i - k ;
		}
		if(s2 > max)
		{
			max = s2 ;
			y = i ;
			x = 1 ;
		}
		if(s2 - smin > max)
		{
			max = s2 - smin ;
			x = xmin + 1 ;
			y = i ;
		}
	}
	fprintf(out , "%lld %lld %lld" , x , y , max) ;
	fclose(in) ;
	fclose(out) ;
	return  0 ;
}