Cod sursa(job #2259621)

Utilizator papinub2Papa Valentin papinub2 Data 13 octombrie 2018 16:06:05
Problema Secventa 3 Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>
#include <vector>
#include <algorithm>
#include <iomanip>

using namespace std;

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

int main()
{
    int n, lim_st, lim_dr;
    in >> n >> lim_st >> lim_dr;

    vector<int> cost(n + 1);
    vector<int> timp(n + 1);

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

    for (int i = 1; i <= n; i++)
    {
        int x;
        in >> x;
        timp[i] = timp[i - 1] + x;
    }

    float rez = (float)cost[lim_st] / (float)timp[lim_st];

    int k = 0;
    for (int i = lim_st + 1; i <= n; i++)
    {
        if (i - k > lim_dr)
            k++;

        float a = (float)(cost[i] - cost[k]) / (timp[i] - timp[k]);
        float b = (float)(cost[i] - cost[i - 1]) / (timp[i] - timp[i - 1]);
        rez = max(rez, max(a, b));
    }

    out << fixed << setprecision(2) << rez;
    return 0;
}