Pagini recente » Cod sursa (job #3366688) | Cod sursa (job #3366712) | Cod sursa (job #3366694) | Cod sursa (job #3365886) | Cod sursa (job #3366711)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 1e6 + 10;
typedef long long int ll;
ll s[NMAX];
bool verify(const ll &middle, const ll &n, const ll &k) {
ll suma = 0;
for (int i = 1; i <= n; i++)
suma += min(s[i], middle);
return (suma >= middle * k * 1ll);
}
int main() {
freopen("grupuri.in", "r", stdin);
freopen("grupuri.out", "w", stdout);
ll k, n; scanf("%lld %lld", &k, &n);
for (int i = 1; i <= n; i++)
scanf("%lld", &s[i]);
ll left = 1;
ll right = 2e10;
ll answer = 1;
while (left <= right) {
ll middle = (left + right) / 2;
if (verify(middle, n, k)) {
left = middle + 1;
answer = middle;
}
else
right = middle - 1;
}
printf("%lld\n", answer);
return 0;
}