Pagini recente » Cod sursa (job #2722167) | Cod sursa (job #2952108) | Cod sursa (job #544830) | Cod sursa (job #1669666) | Cod sursa (job #66239)
Cod sursa(job #66239)
#include <stdio.h>
#define Nmax 100001
int N,S,K,a[Nmax],Gmax,p,rez,i;
int incearca(int nr)
{
int i,j,s2=0;
for (i=1;i<=N;++i)
if (a[i]<nr) s2+=a[i];
else s2+=nr;
if (s2>=nr*K) return 1;
else return 0;
}
int main()
{
freopen("grupuri.in","r",stdin);
scanf("%d %d",&K,&N);
for (i=1;i<=N;++i)
{
scanf("%d",&a[i]);
S+=a[i];
}
fclose(stdin);
Gmax=S/K;
p=1;
while (p<=Gmax)
p = p << 1;
p = p >> 1;
while (p>=1)
{
if (incearca(rez+p)) rez+=p;
p = p >> 1;
}
freopen("grupuri.out","w",stdout);
printf("%d",rez);
fclose(stdout);
return 0;
}