Pagini recente » Cod sursa (job #3172755) | Cod sursa (job #480349) | Cod sursa (job #450778) | Cod sursa (job #230616) | Cod sursa (job #2909507)
#include <fstream>
#define int long long
using namespace std;
const int MAX_N = 1e5;
int a[MAX_N + 1];
int k, n;
bool check(int guess) {
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += min(a[i], guess);
}
return sum >= guess * k;
}
long long cb() {
int st = 0, dr = (1LL << 60), sol = 0;
while (st <= dr) {
int mijl = (st + dr) / 2;
if (check(mijl)) {
sol = mijl + 1;
st = mijl + 1;
} else {
dr = mijl - 1;
}
}
return sol - 1;
}
signed main() {
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
fin >> k >> n;
for (int i = 1; i <= n; i++) {
fin >> a[i];
}
long long answer = cb();
fout << answer;
return 0;
}