Cod sursa(job #3330306)

Utilizator Mihai_OctMihai Octavian Mihai_Oct Data 18 decembrie 2025 17:29:28
Problema Secventa 3 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <bits/stdc++.h>

using namespace std;

#define USE_STD_IO 0
//#define if(USE_STD_IO) cout
#if USE_STD_IO
    #define fin cin
    #define fout cout
#else
    ifstream fin("secv3.in");
    ofstream fout("secv3.out");
#endif // USE_STD_IO

int n, l, u, i, j, cost[30002], timp[30002];
double rasp;

static inline double SumCost(int st, int dr) {
    return cost[dr] - cost[st - 1];
}

static inline double SumTimp(int st, int dr) {
    return timp[dr] - timp[st - 1];
}

int main() {
    fin.tie(nullptr);
    fout.tie(nullptr);

    fin >> n >> l >> u;
    for(i = 1; i <= n; i++) {
        fin >> cost[i];
        cost[i] += cost[i - 1];
    }
    for(i = 1; i <= n; i++) {
        fin >> timp[i];
        timp[i] += timp[i - 1];
    }

    j = 1;
    for(i = l; i <= n; i++) {
        if(i - j > u) j++;
        if(i - j >= l) {
            if(SumCost(j, i) / SumTimp(j, i) < SumCost(i - l + 1, i) / SumTimp(i - l + 1, i)) {
                j = i - l + 1;
            }
            rasp = max(rasp, SumCost(j, i) / SumTimp(j, i));
        }
    }
    fout << fixed << setprecision(2) << rasp;

    return 0;
}