Pagini recente » Cod sursa (job #1729106) | Cod sursa (job #268695) | Cod sursa (job #1235031) | Cod sursa (job #1894161) | Cod sursa (job #1389860)
#include<cstdio>
#include<algorithm>
#include<cstring>
#define Nmax 100005
using namespace std;
int n,i,j,k;
long long s,st,dr,mij,sol,v[Nmax];
int gr(long long m)
{
int i;
long long nr;
for (i=1;i<=n;i++)
nr+=min(m,v[i]);
if (nr>=m*k*1LL)
return 1;
return 0;
}
int main()
{
freopen("grupuri.in","r",stdin);
freopen("grupuri.out","w",stdout);
scanf("%d %d",&k,&n);
for (i=1;i<=n;i++)
scanf("%lld",&v[i]),s=(s+v[i])*1LL;
st=1LL; dr=s/k;
while (st<=dr)
{
mij=(st+dr)/2;
if (gr(mij)==1)
st=mij+1,
sol=max(sol,mij);
else dr=mij-1;
}
printf("%lld",sol);
return 0;
}