Pagini recente » Cod sursa (job #2734047) | Cod sursa (job #678884) | Cod sursa (job #1216302) | Cod sursa (job #183708) | Cod sursa (job #597344)
Cod sursa(job #597344)
#include <fstream>
#include <algorithm>
using namespace std;
int n, k, v[1000001];
bool merge(int mg) {
long long i, r = 0;
for(i = 1; i <= n; ++i) r += min(mg, v[i]);
if(r/mg >= k)
return 1;
return 0;
}
int cauta() {
int rez = 0, i;
for(i = 1 << 30; i; i >>= 1)
if(merge(rez + i))
rez += i;
return rez;
}
int main() {
int i;
ifstream f("grupuri.in");
f >> k >> n;
for(i = 1; i <= n; ++i)
f >> v[i];
ofstream g("grupuri.out");
g << cauta() << '\n';
g.close();
return 0;
}