Cod sursa(job #2535406)

Utilizator eusebiu_alexandruMorar Eusebiu eusebiu_alexandru Data 31 ianuarie 2020 20:31:03
Problema Secventa 3 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include<iomanip>
using namespace std;
ifstream f ("secv3.in");
ofstream g ("secv3.out");
int c[30005], t[30005];
int main()
{
    int n,mn,mx;
    f>>n>>mn>>mx;
    for(int i=1;i<=n;++i)
        f>>c[i];
    for(int i=1; i<=n;++i)
       f>>t[i];
    for(int i=2;i<=n;++i)
    {
            c[i]=c[i-1]+c[i];
            t[i]=t[i-1]+t[i];
    }
    double sol=1.0 *c[mn]/(1.0 * t[mn]);
    int j = 1;
    for(int i=mn+1;i <= n;++i)
        {
        if(i-j==mx-1)
            ++j;
        double ans1=1.0*(c[i]-c[j-1])/(1.0*(t[i]-t[j-1]));
        double ans2=1.0*(c[i]-c[i-mn])/(1.0*(t[i]-t[i-mn]));
        if(ans2>ans1)
            j=i-mn+1;
        sol=max(sol, max(ans1, ans2));
    }
    g<<fixed<<setprecision(10)<<sol;
    return 0;
}