Cod sursa(job #2328108)

Utilizator CleliaClelia Maria Dobrescu Clelia Data 25 ianuarie 2019 13:26:32
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <cstdio>
int a[100001];
int main (){
    freopen ("grupuri.in","r",stdin);
    freopen ("grupuri.out","w",stdout);
    long long s=0,l1,l2,m,nr;
    int k,n,i;
    scanf ("%d %d",&k,&n);
    for (i=1;i<=n;i++){
        scanf ("%d",&a[i]);
        s=s+a[i];
    }
    l1=a[i];
    l2=s/k;
    while (l1<=l2){
        m=(l1+l2)/2;
        s=0;
        for (i=1;i<=n;i++)
            if (a[i]>m)
                s+=m;
            else
                s+=a[i];
        if (s>=m*k){
            nr=m;
            l1=m+1;
        }
        else
            l2=m-1;
    }
    printf ("%d",nr);
    return 0;
}