Pagini recente » Cod sursa (job #2420059) | Borderou de evaluare (job #67874) | Cod sursa (job #517327) | Cod sursa (job #443083) | Cod sursa (job #2576223)
# include <iostream>
# include <fstream>
# include <algorithm>
# include <cmath>
# include <cstring>
using namespace std;
ifstream fin ("grupuri.in");
ofstream fout("grupuri.out");
long long k, n, v[100003], st, mij, dr, s, r;
int main ()
{
fin >> k >> n;
for ( int i = 1; i <= n; ++i)
fin >> v[i], dr += v[i];
while (st <= dr)
{
mij = (st + dr) / 2;
s = 0;
for ( int i = 1; i <= n; ++i)
s += min(mij, v[i]);
if (mij*k <= s)
{
r = mij;
st = mij+1;
}
else
dr = mij-1;
}
fout << r;
return 0;
}