Cod sursa(job #2891164)

Utilizator TeddyDinutaDinuta Eduard Stefan TeddyDinuta Data 17 aprilie 2022 18:39:32
Problema Secventa 3 Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb

#include <bits/stdc++.h>

using namespace std;
ifstream in("secv3.in");
ofstream out("secv3.out");
int n, l, u;
double sc[30005], st[30005], x, k, Max=0;
struct bobu
{
    double rap, cost, timp;
};
deque<pair<double,int>> q;
int main()
{
    in>>n>>l>>u;
    for(int i = 1; i <= n; i++)
    {
        in>>x;
        sc[i] = sc[i - 1] + x;
    }
    for(int i = 1; i <= n; i++)
    {
        in>>x;
        st[i] = st[i - 1] + x;
    }

    for(int i=1;i<=n-l;i++)
    {
        if(!q.empty() && q.front().second < i - u + l) q.pop_front();
        while(!q.empty()&& sc[i] - st[i] < q.back().first) q.pop_back();
        q.push_back({sc[i] - st[i],i});

            if((sc[i + l]-sc[q.front().second]) / (st[i + l]-st[q.front().second]) > Max)
                Max=(sc[i + l]-sc[q.front().second]) / (st[i + l]-st[q.front().second]);
    }
    out<<Max;
    return 0;
}