Cod sursa(job #3288911)

Utilizator Cezar2009Cezar Mihai Titihazan Cezar2009 Data 24 martie 2025 18:22:21
Problema Secventa 3 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <fstream>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <map>
#include <string>
using namespace std;
ifstream fin("secv3.in");
ofstream fout("secv3.out");
int k, i, sol, nr, st, n, U, L;
double C[30002], T[30002], sC, sT, maxim;
/*int cb(int val)
{
    int i,step;
    for(step=1;step<n;step<<=1);
    for(i=0;step;step>>=1)
        if(i+step<n&&V[i+step]<=val)
            i+=step;
    return i;
}*/
double f(int st, int dr) { return 1.0 * (C[dr] - C[st - 1]) / (T[dr] - T[st - 1]); }
int main()
{
    fin >> n >> L >> U;
    for (i = 1; i <= n; i++)
    {
        fin >> C[i];
        C[i] += C[i - 1];
    }
    for (i = 1; i <= n; i++)
    {
        fin >> T[i];
        T[i] += T[i - 1];
    }
    st = 1;
    for (i = L; i <= n; i++)
    {
        if (st <= i - U)
            st = i - U;
        if (f(i - L + 1, i) > f(st, i))
            st = i - L + 1;
        maxim = max(maxim, f(st, i));
    }
    fout << fixed << setprecision(2) << maxim;
    return 0;
}