Cod sursa(job #2618193)

Utilizator As932Stanciu Andreea As932 Data 23 mai 2020 20:38:00
Problema Secventa 3 Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <iomanip>

using namespace std;

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

const int nmax=30005;

int n,l,u,idx;
double cost[nmax],timp[nmax];

int main()
{
    cin>>n>>l>>u;

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

    for(int j=1;j<=n;j++)
    {
        cin>>timp[j];
        timp[j]+=timp[j-1];
    }

    //1 2 3 4 5

    double ans=0.0;

    for(int i=1;i<=n;i++)
    {
        if(idx+u<i)idx++;
        if(i>=l)
            if((cost[i]-cost[i-l])/(timp[i]-timp[i-l])>=
               (cost[i]-cost[idx])/(timp[i]-timp[idx]))
                {
                    idx=i-l;
                    ans=max(ans,(cost[i]-cost[idx])/(timp[i]-timp[idx]));
                }
    }

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

    return 0;
}