Pagini recente » Cod sursa (job #1837495) | Cod sursa (job #710718) | Cod sursa (job #2784181) | Cod sursa (job #866465) | Cod sursa (job #516485)
Cod sursa(job #516485)
#include <stdio.h>
long int i, n, ok, k;
long long s, sa, nel, st, dr, m;
long int v[100000];
void citire()
{
scanf("%ld %ld",&k,&n);
for (i=1;i<=n;i++)
{
scanf("%ld",&v[i]);
s=s+v[i];
}
}
void verificare()
{
nel=0;
sa=0;
i=1;
while ((v[i]<m) and (i<=n))
{
sa=sa+v[i];
i=i+1;
}
i=i-1;
nel=sa/m;
nel=nel+(n-i);
if (nel>=k)
ok=1;
else
ok=0;
}
void rezolvare()
{
st=0;
dr=s/k;
while (st<=dr)
{
m=(st+dr)/2;
verificare();
if (ok)
st=m+1;
else
dr=m-1;
}
printf("%lld",dr);
}
int main()
{
freopen("grupuri.in","r",stdin);
freopen("grupuri.out","w",stdout);
citire();
rezolvare();
return 0;
}