Pagini recente » Cod sursa (job #557520) | Cod sursa (job #147215) | Cod sursa (job #120924) | Cod sursa (job #680697) | Cod sursa (job #3148686)
#include <iostream>
#include <algorithm>
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("grupuri.in");
ofstream g("grupuri.out");
long long k, n;
const int max_n = 1e5+2;
long long v[max_n];
long long s = 0;
long long minim(long long a, long long b)
{
if( a < b )
return a;
else
return b;
}
int main() {
ios_base::sync_with_stdio(false);
f.tie(nullptr);
g.tie(nullptr);
f >> k >> n;
for( long logn i = 1; i <= n; ++i )
{
f >> v[i];
s+=v[i];
}
long long grup_max = s/k;
long long st = 1, dr = grup_max, mij;
long long ras = 0;
while( st <= dr )
{
mij = (st + dr)/2;
long long sum_aux = 0;
for( int j = 1; j <= n; ++j )
{
sum_aux+=minim(mij, v[j]);
}
if( sum_aux >= mij*k )
{
ras = mij;
st = mij + 1;
}
else
dr = mij - 1;
}
g << ras;
return 0;
}