Cod sursa(job #1502352)

Utilizator Alexa2001Alexa Tudose Alexa2001 Data 14 octombrie 2015 16:29:59
Problema Grupuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>

using namespace std;
int k,n,x,a[100009],i;
long long mj,st,dr;

inline bool OK(long long x)
{
    int i;long long nr=0LL;
    for(i=1;i<=n;++i)
    if(a[i]<x) nr+=a[i];
    else nr+=x;

    if(nr/k>=x) return 1;
    return 0;
}
int main()
{
    ifstream f("grupuri.in");
    ofstream g("grupuri.out");

    f>>k>>n;long long sum=0LL;
    for(i=1;i<=n;++i) f>>a[i], sum+=a[i];

    st=1LL;dr=sum;
    while(st<=dr)
    {
        mj=(1LL*st+1LL*dr)/2LL;
        if(OK(mj)) st=mj+1LL;
        else dr=mj-1LL;
    }

    g<<dr<<'\n';
    return 0;
}