Cod sursa(job #2793579)

Utilizator Sori68zambitchi radu Sori68 Data 3 noiembrie 2021 19:11:01
Problema Grupuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>

using namespace std;
long long k, n, v[100005];
long long f(long long a)
{
    long long cnt=0;
    for(long long i=1; i<=n; i++)
    {
        if(v[i]<=a)
            cnt+=v[i];
        else
            cnt+=a;
    }
    if(cnt>=k*a)
        return 1;
    else
        return 0;
}
int main()
{
    ifstream cin("grupuri.in");
    ofstream cout("grupuri.out");
    long long sum=0;
    cin>>k>>n;
    for(long long i;i<=n; i++)
    {
        cin>>v[i];
        sum+=v[i];
    }
    long long i1=1,i2=sum/k,mij,rez=-1;
     while(i1<=i2)
    {
        mij=(i1+i2)/2;
        if(f(mij)==1)
        {
            rez=mij;
            i1=mij+1;
        }
        else
            i2=mij-1;
    }
    cout<<rez;
    return 0;
}