Cod sursa(job #482122)

Utilizator cont_de_testeCont Teste cont_de_teste Data 2 septembrie 2010 15:01:00
Problema Secventa 3 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
# include <cstdio>

const char FIN[] = "secv3.in", FOU[] = "secv3.out" ;
const int MAX = 30000 ;

int V[MAX], T[MAX], SV[MAX], ST[MAX] ;
int N, L, U, cnt = 1 ;
double sol ;

int main ( void ) {
    freopen ( FIN, "r", stdin ) ;

    scanf ( "%d %d %d", &N, &L, &U ) ;

    for ( int i = 1; i <= N; ++i ) {
        scanf ( "%d", V + i ) ;
        SV[i] = SV[i - 1] + V[i] ;
    }
    for ( int i = 1; i <= N; ++i ) {
        scanf ( "%d", T + i ) ;
        ST[i] = ST[i - 1] + T[i] ;
    }

    sol = 1.0 * SV[L] / ST[L] ;
    for ( int i = 1; i <= N - L ; ++i ) {
        if ( i - cnt + 1 > U - L ) {
            ++cnt ;
        }
        double sumt = 1.0 * ( SV[i + L] - SV[cnt - 1] ) / ( ST[i + L] - ST[cnt - 1] ) ;
        double sumv = 1.0 * ( SV[i + L] - SV[i] ) / ( ST[i + L] - ST[i] ) ;

        if ( sumv > sumt ) {
            cnt = i + 1 ;
            sumt = sumv ;
        }
        if ( sol < sumt ) {
            sol = sumt ;
        }
    }
return 0 ;
    fprintf ( fopen ( FOU, "w" ) , "%.4lf" , sol ) ;

    return 0 ;
}