Cod sursa(job #3128161)

Utilizator Radu_BicliBiclineru Radu Radu_Bicli Data 8 mai 2023 21:01:40
Problema Secventa 3 Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>
#define c first
#define t second

using namespace std;

ifstream fin("secv3.in");
ofstream fout("secv3.out");
int n, l, u, i, ult = 1;
double r = 0;
pair<int, int> a[30002];

int main()  {
    fin >> n >> l >> u;
    for(i = 1; i <= n; i++) {
        fin >> a[i].c;
        a[i].c += a[i - 1].c;
    }
    for(i = 1; i <= n; i++) {
        fin >> a[i].t;
        a[i].t += a[i - 1].t;
    }
    for(i = 1; i <= n; i++) {
        if(i - u > ult) ult++;
        if(i >= l) {
            if(1.0 * (a[i].c - a[ult - 1].c) / (a[i].t - a[ult - 1].t) <= 1.0 * (a[i].c - a[i - l].c) / (a[i].t - a[i - l].t)) ult = i - l + 1;
            r = max(r, 1.0 * (a[i].c - a[ult - 1].c) / (a[i].t - a[ult - 1].t));
        }
    }
    fout << setprecision(2) << r;

    return 0;
}