Cod sursa(job #2286150)

Utilizator vladcainamisirVlad Cainamisir vladcainamisir Data 19 noiembrie 2018 21:04:39
Problema Secventa 3 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
# include<cstdio>
const int NMAX = 30000;
int n, l, u;
int price[NMAX + 1], time[NMAX + 1];
double ans;
int main()
{
    freopen("secv3.in", "r", stdin);
    freopen("secv3.out" , "w" , stdout);
    scanf("%d%d%d\n", &n, &l, &u);
    for (int i = 1; i <= n; ++i)
    {
        scanf("%d ", &price[i]);
        price[i] += price[i - 1];
    }
    for (int i = 1; i <= n; ++i)
    {
        scanf("%d ", &time[i]);
        time[i] += time[i - 1];
    }
    ans = price[l] * 1.0 / time[l];
    int poz = 1;
    double a, b;
    for (int i = l + 1; i <= n; ++i)
    {
        if (i - l == u)
            poz++;
        a = (price[i] - price[i - l]) * 1.0 / (time[i] - time[i - l]);
        b = (price[i] - price[poz - 1]) * 1.0 / (time[i] - time[poz - 1]);
        if (a > b)
        {
            b = a;
            poz = i - l + 1;
        }
        if (ans < b)
            ans = b;
    }
    printf("%.2lf", ans);
    return 0;
}