Pagini recente » Cod sursa (job #2392401) | Cod sursa (job #2111436) | Cod sursa (job #1815230) | Cod sursa (job #2985973) | Cod sursa (job #2711830)
#include <bits/stdc++.h>
#define int long long
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
const int NMAX = 1e5 + 1;
int N, K, a[NMAX];
bool check(const int &x) {
int sum = 0;
for(int i = 1; i <= N; ++i)
sum += min(a[i], x);
return sum >= x * K;
}
int32_t main() {
fin >> K >> N;
int st = 1, dr = 0, ans = 0;
for(int i = 1; i <= N; ++i) {
fin >> a[i];
dr += a[i];
}
dr /= K;
while(st <= dr) {
int mid = (st + dr) >> 1;
if(check(mid)) {
ans = mid;
st = mid + 1;
}
else
dr = mid - 1;
}
fout << ans << '\n';
}