Pagini recente » Cod sursa (job #1638550) | Cod sursa (job #1351142) | Cod sursa (job #691216) | Cod sursa (job #666003) | Cod sursa (job #1501269)
#include<cstdio>
using namespace std;
int v[100001];
int main()
{
freopen("grupuri.in","r",stdin);
freopen("grupuri.out","w",stdout);
int n,i,k,mid,ma=0;
long long dr=0,st=0,c;
scanf("%d%d",&k,&n);
for(i=1;i<=n;i++)
{
scanf("%d",&v[i]);
dr+=v[i];
}
dr=dr/k;
while(st<=dr)
{
mid=(st+dr)/2;
c=0;
for(i=1;i<=n;i++)
{
if(v[i]>=mid)
{
c+=mid;
}
else
{
c+=v[i];
}
}
if(c/k>=mid)
{
st=mid+1;
if(ma<mid)
{
ma=mid;
}
}
else
{
dr=mid-1;
}
}
printf("%d",ma);
return 0;
}