Cod sursa(job #2396431)

Utilizator Diana_IonitaIonita Diana Diana_Ionita Data 3 aprilie 2019 15:06:32
Problema Grupuri Scor 6
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>

using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
long long  n,k,i,a[100001];
int ok(long long  mid)
{
    long long s=0;
    for(int i=1; i<=n; i++)
        s+=min(a[i],mid);
    if(s>=mid*k) return true;
    return false;
}
int cauta()
{
    int l=0;
    int r=n;
    long long  mid;
    while(r-l>1)
    {
        mid=(l+r)/2;
        if(ok(mid)) l=mid;
        else r=mid;
    }
    return l;
}
int main()
{
    fin>>k>>n;
    for(i=1; i<=n; i++) fin>>a[i];
    int     nr=cauta();
    fout<<nr;
    return 0;
}