Cod sursa(job #2301785)

Utilizator OctavianVasileVasileOctavian OctavianVasile Data 13 decembrie 2018 15:41:43
Problema Secventa 3 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>
const int MAXN = 30000 + 5;
using namespace std;
ifstream fin ("secv3.in");
ofstream fout ("secv3.out");
int n, MN, MX, p;
int a [MAXN], b [MAXN], spb [MAXN], spa [MAXN];
double ans;
int main (){
    fin >> n >> MN >> MX;
    for (int i = 1; i <= n; i ++)fin >> a [i], spa [i] = spa [i - 1] + a [i];
    for (int i = 1; i <= n; i ++)fin >> b [i], spb [i] = spb [i - 1] + b [i];
    ans = 1.0 * spa [MN] / spb [MN];
    for (int i = MN + 1; i <= n; i++){
        if (i - MN == MX)p ++;
        double a = (spa [i] - spa [i - MN]) * 1.0 / (spb [i] - spb [i - MN]);
        double b = (spa [i] - spa [p - 1] * 1.0) / (spb [i] - spb [p - 1]);
        if (b < a)b = a, p = i - MN + 1;
        ans = max (ans, b);
    }
    fout << ans;
    return 0;
}