Cod sursa(job #2575801)

Utilizator Wister1043Silaghi Razvan-Andrei Wister1043 Data 6 martie 2020 15:30:10
Problema Secventa 3 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;

ifstream fin("secv3.in");
ofstream fout("secv3.out");

double up[30001],down[30001];

int main()
{
    int N,L,U,a;
    fin>>N>>L>>U;
    for(int i=1;i<=N;i++)
    {
        fin>>a;
        up[i]=a+up[i-1];
    }
    for(int i=1;i<=N;i++)
    {
        fin>>a;
        down[i]=a+down[i-1];
    }
    double num1,num2,m=0;
    int j=1;
    for(int i=L;i<=N;i++)
    {
        num1=(up[i]-up[i-L])/(down[i]-down[i-L]);
        num2=(up[i]-up[j-1])/(down[i]-down[j-1]);
        if(num1>num2)
        {
            j=i-L;
            m=max(m,num1);
        }
        else
        {
            m=max(m,num2);
        }
        if(i-j+1>=U)
        {
            j++;
        }
    }
    fout<<setprecision(2)<<fixed;
    fout<<m<<endl;
    return 0;
}