Cod sursa(job #288300)

Utilizator pedobearBacauanu Vlad pedobear Data 25 martie 2009 18:11:04
Problema Grupuri Scor 88
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>

long long v[100001];
long long st,dr,na,mid,sol,i,n,k,sum;

void cbin (int st, int dr)
{
     while (st<=dr){
           na=0;
           mid=(st+dr)/2;
           for (i=1;i<=n;i++){
               if (v[i]>mid) na=na+mid;
               else na=na+v[i];
               }
           if (na>=mid*k) {
                          st=mid+1;
                          sol=mid;
                          }
           else dr=mid-1;
           }
}

int main ()
{
    freopen ("grupuri.in","r",stdin);
    freopen ("grupuri.out","w",stdout);
    
    scanf ("%lld %lld",&k,&n);
    for (i=1;i<=n;i++){
        scanf ("%lld",&v[i]);
        sum=sum+v[i];
        }
        
    cbin (1,sum);
    
    printf ("%lld",sol);
}