Pagini recente » Cod sursa (job #1693392) | Cod sursa (job #1842280) | Cod sursa (job #2255333) | Cod sursa (job #764006) | Cod sursa (job #1251883)
#include<stdio.h>
#define LL long long
const int NMAX = 100005, VMAX = 1e7;
int k, n, a[NMAX];
bool ok (LL gr) {
int i;
LL s;
s = 0;
for(i = 1; i <= n; ++ i) {
if(a[i] > gr)
s += (LL)gr;
else
s += (LL)a[i];
if(s >= (LL)gr * k)
return 1;
}
return 0;
}
LL bs (LL left, LL right) {
LL mid, last;
while(left <= right) {
mid = (left + right) / 2;
if(ok(mid))
last = mid,
left = mid + 1;
else
right = mid - 1;
}
return last;
}
int main() {
freopen("grupuri.in", "r", stdin);
freopen("grupuri.out", "w", stdout);
int i;
scanf("%d%d", &k, &n);
for(i = 1; i <= n; ++ i)
scanf("%d", &a[i]);
printf("%lld\n", bs(0, VMAX));
return 0;
}