Cod sursa(job #1266997)

Utilizator milijrCristian Militaru milijr Data 19 noiembrie 2014 13:20:51
Problema Secventa 3 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <iostream>
#include <fstream>

using namespace std;

int t[30005];
int c[30005];

/** sumele partiale ale timpurilor & costurilor */
int ts[30005];
int cs[30005];

int main()
{
    ifstream fin("secv3.in");
    ofstream fout("secv3.out");

    int n, lmin, lmax;

    fin >> n >> lmin >> lmax;
    cs[0] = 0;
    ts[0] = 0;
    for (int i = 1; i <= n; i++)
    {
        fin >> c[i];
        cs[i] = cs[i - 1] + c[i];
    }

    for (int i = 1; i <= n; i++)
    {
        fin >> t[i];
        ts[i] = ts[i - 1] + t[i];
    }

    double maxim = 0;
    for (int i = 1; i <= n; i++)
    {
        for (int j = lmin; j <= lmax && i + j - 1 <= n; j++)
        {
            double raport = double(cs[i + j - 1] - cs[i - 1]) / (ts[i + j - 1] - ts[i - 1]);
            if (raport > maxim)
            {
                maxim = raport;
            }
        }
    }

    fout << maxim;

    fin.close();
    fout.close();

    return 0;
}