Pagini recente » Cod sursa (job #725314) | Cod sursa (job #2334043) | Cod sursa (job #85938) | Cod sursa (job #1343340) | Cod sursa (job #2045303)
#include<bits/stdc++.h>
const int nmax=100005;
int v[nmax];
int main()
{
freopen("grupuri.in","r",stdin);
freopen("grupuri.out","w",stdout);
long long sum=0,mid=0,st=0,dr,last=0;
int n,i,j,k;
scanf("%d%d",&k,&n);
for(i=1; i<=n; i++)
{
scanf("%d",&v[i]);
sum+=v[i];
}
dr=sum/k;
while(st<=dr)
{
sum=0;
mid=(st+dr)/2;
for(i=1; i<=n; i++)
{
if(mid>=v[i])
sum+=v[i];
else
sum+=mid;
}
if(sum/k>=mid)
{
last=sum/k;
st=mid+1;
}
else
dr=mid-1;
}
printf("%lld",last);
return 0;
}