Cod sursa(job #468147)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 2 iulie 2010 14:24:28
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>

FILE*f=fopen("secv2.in","r");
FILE*g=fopen("secv2.out","w");

int s[50005],n,k,x,i,max,sc,p,u,min,pozmin;

int main () {
	
	fscanf ( f , "%d %d" , &n , &k ) ; 
	
	for ( i = 1 ; i <= n ; ++i ){
		
		fscanf ( f , "%d" , &x );
		
		s[i] = s[i-1] + x ;
		
	}
	
	pozmin = 0 ; 
	min = 0 ;
	
	max = s[ k ] ; p = 1 ; u = k ;
	
	for ( i = k + 1 ; i <= n ; ++i ){
		
		if ( s[ i - k ] < min ) 
			min = s [ i - k ] , pozmin = i - k ;
		
		//la fiecare pas  : s[i] - min ( s[j] ) cu j de la 0 la i - k
		
		sc = s[i] - min ;
		
		if ( sc > max ) {
			
			max = sc ; 
			
			p = pozmin + 1 ; u = i ;
			
		}
		
	}
	
	fprintf ( g , "%d %d %d\n" , p , u , max ) ;
	
	
	fclose(f);
	fclose(g);
	
	return 0;
}