Cod sursa(job #591961)

Utilizator rudarelLup Ionut rudarel Data 26 mai 2011 09:01:38
Problema Secventa 3 Scor 60
Compilator c Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <stdio.h>
#include <stdlib.h>
#define INFILE "secv3.in"
#define OUTFILE "secv3.out"
#define DIM 31000

long int c[DIM], t[DIM], x[DIM], y[DIM], n, L, U;
double rez;

FILE *fin, *fout;

void Read();
void Solve();
void Write();

int main()
{
    Read();
    Solve();
    Write();
    
    return 0;
}

void Read()
{
    fin = fopen(INFILE,"rt");
    
    fscanf(fin,"%ld %ld %ld",&n,&L,&U);
    
    int i;
    for ( i = 1; i <= n; i++ )
    {
        fscanf(fin,"%ld ",&c[i]);
        x[i] = x[i-1] + c[i];
    }
    
    for ( i = 1; i <= n; i++ )
    {
        fscanf(fin,"%ld ",&t[i]);
        y[i] = y[i-1] + t[i];
    }
    
    fclose(fin);
}
 
void Solve()
{
    int i, nr, j, s_cost, s_timp;
    double cat;
    
    for ( nr = L; nr <= U; nr++ )
        for ( i = nr; i <= n; i++ )
        {
            j = i - nr + 1;
            s_cost = x[i] - x[j-1];
            s_timp = y[i] - y[j-1];
            cat = (double)(s_cost) / (double)(s_timp);
            if ( cat > rez )
                rez = cat;
        }
}

void Write()
{
    fout = fopen(OUTFILE,"wt");
    
    fprintf(fout,"%lf\n",rez);
    
    fclose(fout);
}