Cod sursa(job #2123623)

Utilizator mariusn01Marius Nicoli mariusn01 Data 6 februarie 2018 14:15:14
Problema Grupuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>

using namespace std;
long long a[100010], n, k, suma, i, gmax, mid, st, dr, s;
int main () {
    ifstream fin ("grupuri.in");
    ofstream fout("grupuri.out");

    fin>>k>>n;
    for (i=1;i<=n;i++) {
        fin>>a[i];
        suma += a[i];
    }

    gmax = suma/k;

    st = 1;
    dr = gmax;

    while (st <= dr) {
        mid = st + (dr - st)/2;

        s = 0;
        for (i=1;i<=n;i++)
            s+=min(mid, a[i]);

        if (s >= k * mid)
            st = mid+1;
        else
            dr = mid-1;

    }

    fout<<dr;

    return 0;
}