Cod sursa(job #288308)

Utilizator pedobearBacauanu Vlad pedobear Data 25 martie 2009 18:18:00
Problema Grupuri Scor 88
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 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=1LL*((st+dr)/2);
           for (i=1;i<=n;i++){
               if (v[i]>mid) na=1LL*(na+mid);
               else na=1LL*(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=1LL*(sum+v[i]);
        }
        
    cbin (1,sum);
    
    printf ("%lld",sol);
}