Cod sursa(job #2790531)

Utilizator tmi26Teodor Stupariu tmi26 Data 29 octombrie 2021 10:39:37
Problema Grupuri Scor 74
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>

using namespace std;
ifstream cin("grupuri.in");
ofstream cout("grupuri.out");
int v[100005],k,n;
int f(int a)
{
    int cnt=0;
    for(int 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()
{
    int sum=0;
    cin>>k>>n;
    for(int i=1; i<=n; i++)
    {
        cin>>v[i];
        sum+=v[i];
    }
    int 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;
}