Pagini recente » Cod sursa (job #2530499) | Cod sursa (job #18919) | Cod sursa (job #1467952) | Cod sursa (job #2958481) | Cod sursa (job #597339)
Cod sursa(job #597339)
#include <fstream>
#include <algorithm>
using namespace std;
#define ll long long
ll n, k, v[1000001];
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 << 32; 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;
}