Pagini recente » Cod sursa (job #1223227) | Cod sursa (job #3282160) | Cod sursa (job #751200) | Cod sursa (job #194193) | Cod sursa (job #597338)
Cod sursa(job #597338)
#include <fstream>
#include <algorithm>
using namespace std;
#define ll long long
ll n, k, v[100001];
bool merge(ll mg) {
ll i, r = 0;
for(i = 1; i <= n; ++i) r += min(mg, v[i]);
if(r/mg >= k)
return 1;
return 0;
}
ll cauta() {
ll rez = 0, i;
for(i = 1 << 20; i; i >>= 1)
if(merge(rez + i))
rez += i;
return rez;
}
int main() {
ll 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;
}