Pagini recente » Cod sursa (job #3200644) | Lista propunatorilor infoarena-friendly | Cod sursa (job #2530398) | Cod sursa (job #3248790) | Cod sursa (job #3282409)
#include <bits/stdc++.h>
using namespace std;
int n, k, v[100001];
bool check (int g) {
int sum = 0;
for (int i = 0; i < n; ++i) {
sum += min(v[i],g);
}
return sum >= g * k;
}
int main() {
ifstream cin("grupuri.in");
ofstream cout("grupuri.out");
cin >> k >> n;
int sum = 0;
for (int i = 0; i < n; i++) {
cin >> v[i];
sum += v[i];
}
int sol = 0;
int st = 0, dr = sum / k;
while (st <= dr) {
int mij = (st + dr) / 2;
if (check(mij)) {
st = mij + 1;
sol = mij;
} else {
dr = mij - 1;
}
}
cout << sol;
return 0;
}