Pagini recente » Cod sursa (job #376713) | Cod sursa (job #1515684) | Cod sursa (job #2821021) | Cod sursa (job #3121535) | Cod sursa (job #1501283)
#include <iostream>
#include<cstdio>
using namespace std;
int v[100001];
int main()
{
freopen("grupuri.in", "r", stdin);
freopen("grupuri.out", "w", stdout);
long long n, k, i, l1, l2, mij, s=0, rasp=0, sum;
scanf("%lld%lld", &k, &n);
for(i=1;i<=n;i++){
scanf("%d", &v[i]);
s+=v[i];
}
l1=1;l2=s/k;
while(l1<=l2)
{
mij=(l1+l2)/2;
sum=0;
for(i=1;i<=n;i++){
if(v[i]<=mij)
sum+=v[i];
else sum+=mij;
}
if(sum<mij*k)
l2=mij-1;
else{
rasp=mij;
l1=mij+1;
}
}
printf("%lld", rasp);
return 0;
}