Cod sursa(job #2465033)

Utilizator TheNextGenerationAyy LMAO TheNextGeneration Data 29 septembrie 2019 12:39:01
Problema Secventa 3 Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("secv3.in");
ofstream out("secv3.out");
const int N = 30005;
int a[N],b[N],s[N],t[N];
int main()
{
    int n,l,u;
    in >> n >> l >> u;
    for (int i = 1; i<=n; i++)
    {
        in >> a[i];
        s[i] = s[i-1]+a[i];
    }
    for (int i = 1; i<=n; i++)
    {
        in >> b[i];
        t[i] = t[i-1]+b[i];
    }
    double Max = 0;
    int j = 1;
    for (int i = 1; i<=n; i++)
    {
        while ( j<i && ((i-j+1>u) || (i-j+1>l && (double)(s[i]-s[j])/(t[i]-t[j])>(double)(s[i]-s[j-1])/(t[i]-t[j-1])) ) )
            j++;
        if (i-j+1>=l && i-j+1<=u)
            Max = max(Max,(double)(s[i]-s[j-1])/(t[i]-t[j-1]));
    }
    out << Max;
}