Cod sursa(job #1731060)

Utilizator cristina_borzaCristina Borza cristina_borza Data 18 iulie 2016 11:50:51
Problema Grupuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>

#define NMAX 1099511627776
#define DIM 100005

using namespace std;

ifstream f ("grupuri.in");
ofstream g ("grupuri.out");

long long n , sum , k;
long long v[DIM];

bool verif(long long nrg);
long long caut_bin();

int main() {
    f >> k >> n;
    for (long long i = 1; i <= n; ++i) {
        f >> v[i];
        sum += v[i];
    }

    g << caut_bin();
    return 0;
}

long long caut_bin() {
    long long i , p = 0;
    for (i = 1; i <= NMAX; i <<= 1);
    while (i) {
        if (verif(i + p)) {
            p += i;
        }

        i >>= 1;
    }

    return p;
}

bool verif(long long nrg) {
    long long sm = 0;
    for (long long i = 1; i <= n; ++i) {
        sm += min (v[i] , nrg);
    }

    if (sm >= k * nrg) {
        return 1;
    }

    return 0;
}