Cod sursa(job #2390060)

Utilizator AndreiDeltaBalanici Andrei Daniel AndreiDelta Data 27 martie 2019 18:51:01
Problema Secventa 3 Scor 100
Compilator cpp-64 Status done
Runda preoni21204 Marime 0.75 kb
#include <bits/stdc++.h>
#define Dim 30005
using namespace std;
ifstream f("secv3.in");
ofstream g("secv3.out");
int N,L,U,SL[Dim],SC[Dim],a;
float ans;

int main()
{
    f>>N>>L>>U;
    for(int i=1;i<=N;i++)
    {
        f>>a;
        SL[i]=SL[i-1]+a;
    }
    for(int i=1;i<=N;i++)
    {
        f>>a;
        SC[i]=SC[i-1]+a;
    }
    int poz=1;
    ans=SL[L]/SC[L];
    for(int i=L+1;i<=N;i++)
    {
        if(poz==i-U) poz++;
        float b=1.0*(SL[i]-SL[poz-1])/(SC[i]-SC[poz-1]);
        float a=1.0*(SL[i]-SL[i-L])/(SC[i]-SC[i-L]);
        if(a>b)
        {
            ans=max(ans,a);
            poz=i-L+1;
        }
        else
        ans=max(ans,b);
    }
    g<<fixed<<setprecision(10)<<ans;
    return 0;
}