Cod sursa(job #2694542)

Utilizator As932Stanciu Andreea As932 Data 9 ianuarie 2021 17:31:32
Problema Secventa 3 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <iomanip>

using namespace std;

ifstream cin("secv3.in");
ofstream cout("secv3.out");

const int nMax = 3e4 + 5;

int n, l, u, val, lst, c[nMax], t[nMax];
double ans;

void read(){
    cin >> n >> l >> u;

    for(int i = 1; i <= n; i++){
        cin >> val;
        c[i] = c[i - 1] + val;
    }
    for(int i = 1; i <= n; i++){
        cin >> val;
        t[i] = t[i - 1] + val;
    }
}

void solve(){
    for(int i = 1; i <= n; i++){
        if(lst + u < i)
            lst++;

        if(i >= l){
            if(1. * (c[i] - c[lst]) / (t[i] - t[lst]) <= 1. * (c[i] - c[i - l]) / (t[i] - t[i - l]))
                lst = i - l;
            ans = max(ans, 1. * (c[i] - c[lst]) / (t[i] - t[lst]));
        }
    }

    cout << fixed << setprecision(2) << ans;
}

int main()
{
    read();
    solve();

    return 0;
}