Cod sursa(job #180516)

Utilizator bogdanhm999Casu-Pop Bogdan bogdanhm999 Data 17 aprilie 2008 09:50:52
Problema Grupuri Scor 64
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>

long k,n,i,s,a[100005],r;

long solve(long n,long k){
     if (k>n)return 0;
     if (k==1)return s;
     if (a[n]<=s/k)return s/k;
     else {s-=a[n];return solve(n-1,k-1);}
}

int main(){
    freopen("grupuri.in","r",stdin);
    freopen("grupuri.out","w",stdout);
    
    scanf("%ld %ld",&k,&n);
    for (i=1;i<=n;i++){
        scanf("%ld",&a[i-r]);
        if (a[i]==0)r++;
        s+=a[i];
    }
    n-=r;
    if (k>n){printf("%ld\n",0);return 0;}
    if (a[n]<=s/k){printf("%ld\n",s/k);return 0;}
    s-=a[n];
    printf("%ld\n",solve(n-1,k-1));
    
return 0;
}