Cod sursa(job #219578)

Utilizator alexeiIacob Radu alexei Data 7 noiembrie 2008 17:17:30
Problema Grupuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<stdio.h>
#define NMAX 131072

long long A[NMAX];

long long sol(long long N,long long K)
{
     if( N<0 || K<0 ) return 0; //out of bounds
     if( A[N]<=A[0]/K )
      return A[0]/K;     
     else
     {
         A[0]-=A[N];
         return sol(N-1,K-1);
     }
}

//int binary(int l1,int l2)

int main()
{
    freopen("grupuri.in","r",stdin);
    freopen("grupuri.out","w",stdout);
    
    long long N,K;
    scanf("%lld%lld",&K,&N);
    
    int i;
    for(i=1; i<=N; ++i){
    scanf("%lld",&A[i]);
    A[0]+=A[i];
    }
    
    if( A[N]<=A[0]/K )
     printf("%lld\n",A[0]/K);//yeey
    else
     printf("%lld\n",sol(N,K));
    
    return 0;
}