Cod sursa(job #2707116)

Utilizator crismariuCrismariu Codrin crismariu Data 16 februarie 2021 15:23:54
Problema Secventa 3 Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <bits/stdc++.h>
//#pragma GCC optimize("O3")
#define test " test "
#define ll long long
#define pii pair<int, int>
#define FASTIO   \
    cin.tie(0);  \
    cout.tie(0); \
    ios_base::sync_with_stdio(0);
#define FILES                      \
    freopen("secv3.in", "r", stdin); \
    freopen("secv3.out", "w", stdout);
#define testcase             \
    int T;    \
    cin >> T; \
    while (T--)
#define vec vector<int>
using namespace std;

bool cmp(pair<float, int> a, pair<float, int> b)
{
    return (a.first / a.second) > (b.first / b.second);
}

signed main()
{
    FILES
    int n, l, u;
    cin >> n >> l >> u;
    vector<pair<float, int>> v(n);
    for(int i = 0; i < n; i++)
        cin >> v[i].first;

    for(int i = 0; i < n; i++)
        cin >> v[i].second;

    sort(v.begin(), v.end(), cmp);

    float s1 = 0; int s2 = 0;
    for(int i = 0; i < l; i++)
        s1 += v[i].first, s2 += v[i].second;
    float mx = s1 / s2;
    for(int i = l; i < u; i++)
    {
        s1 += v[i].first, s2 += v[i].second;
        mx = max(mx, s1 / s2);
    }
    cout << mx;
    return 0;
}