Pagini recente » Cod sursa (job #752511) | Cod sursa (job #2475138) | Cod sursa (job #2751922) | Cod sursa (job #860284) | Cod sursa (job #2822627)
#include <iostream>
#include <fstream>
#define int long long
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
const int N = 1e5 + 1, VAL = 1e6 + 1;
int v[N];
bool check(int rasp, int n, int k) {
int sum = 0;
for (int i = 1; i <= n; i++) {
if (v[i] > rasp) sum += rasp;
else sum += v[i];
}
return sum >= rasp * k;
}
signed main() {
int k, n;
fin >> k >> n;
for (int i = 1; i <= n; i++) fin >> v[i];
int st = 1, dr = N * VAL + 1;
while (dr - st > 1) {
int mij = (st + dr) / 2;
if (check(mij, n, k)) st = mij;
else dr = mij;
}
fout << st;
return 0;
}