Cod sursa(job #3215006)

Utilizator Mihai_OctMihai Octavian Mihai_Oct Data 14 martie 2024 16:54:09
Problema Secventa 3 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("secv3.in");
ofstream fout("secv3.out");
int n, l, u, i, c[30002], t[30002], st;
double r;

static inline double Calc(int j, int i, int v[]) {
    return (double)(v[i] - v[j - 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];
    }

    int st = 1;
    for(i = 1; i <= n; i++) {
        if(i - st > u) st++;
        if(i - st >= l) {
            if(Calc(st, i, c) / Calc(st, i, t) < Calc(i - l + 1, i, c) / Calc(i - l + 1, i, t)) st = i - l + 1;
            r = max(r, Calc(st, i, c) / Calc(st, i, t));
        }
    }

    fout << fixed << setprecision(2) << r;

    return 0;
}