Cod sursa(job #2396183)

Utilizator mircearoataMircea Roata Palade mircearoata Data 3 aprilie 2019 11:45:34
Problema Grupuri Scor 14
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

int n, k;
long long ans;
long long v[100005];

bool possible(long long x)
{
    long long cntAnimals = 0;
    for(int i = 1; i <= n; i++)
        cntAnimals += min(v[i], x);
    return cntAnimals >= x*k;
}

int32_t main()
{
    in >> k >> n;
    for(int i = 1; i <= n; i++)
        in >> v[i];
    sort(v+1, v+n+1);
    for(long long step = (1LL << 60); step; step >>= 1)
        if(possible(ans+step))
            ans += step;
    out << ans;
    return 0;
}