Cod sursa(job #3139436)

Utilizator DajaMihaiDaja Mihai DajaMihai Data 28 iunie 2023 11:36:57
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>

using namespace std;

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

long long n, k, grupe;
long long v[100000];
long long sum = 0, sol, mij;

bool check (long long mij){
    for(int i = 0; i < n; i ++){
        sum += min(v[i], mij);
    }
    if(sum >= mij*k)
        return 1;
    return 0;
}

int main()
{
    in >> k >> n;
    for(int i = 0; i < n; i ++){
        in >> v[i];
    }

    long long r = 100000000000;
    long long l = 0;

    while(l <= r){
        sum = 0;
        mij = (l + r) / 2;
        if(check(mij)){
            l = mij + 1;
            sol = mij;
        }
        else{
            r = mij - 1;
        }
    }

    out << sol;

    return 0;
}