Pagini recente » Istoria paginii utilizator/dgvancea | Monitorul de evaluare | Cod sursa (job #2038049) | Istoria paginii utilizator/stefy0196 | Cod sursa (job #2012085)
#include <cstdio>
#include <algorithm>
#define LL long long
using namespace std;
const int nmax=100004;
int v[nmax],n,k;
LL sum,ans;
int main()
{
freopen ("grupuri.in","r",stdin);
freopen ("grupuri.out","w",stdout);
scanf("%d%d",&k,&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&v[i]);
sum+=v[i];
}
LL st=0,dr=sum/k;
while(st<=dr)
{
sum=0;
LL mij=(st+dr)/2;
for(int i=1;i<=n;i++) sum+=min(1LL*v[i],mij);
if(sum/k>=mij)
{
ans=sum/k;
st=mij+1;
}
else dr=mij-1;
}
printf("%lld\n",ans);
}