Pagini recente » Cod sursa (job #1851691) | Cod sursa (job #2027265) | Cod sursa (job #2282429) | Cod sursa (job #1819170) | Cod sursa (job #2794703)
#include <fstream>
using namespace std;
ifstream f("grupuri.in");
ofstream g("grupuri.out");
const int NMAX = 100001;
int n;
long long v[NMAX], k;
int main()
{
f >> k >> n;
for (int i = 1; i <= n; i++)
f >> v[i];
long long x = 1;
for (int i = 1; i <= 13; i++)
x *= 10;
long long l = 1, r = 2 * x, mid, sol;
while (l <= r)
{
mid = (l + r) / 2;
long long s = 0;
for (int i = 1; i <= n; i++)
s += min(v[i], mid);
if (s < mid * k)
r = mid - 1;
else if (s >= mid * k)
sol = mid, l = mid + 1;
else
l = mid + 1;
}
g << sol;
return 0;
}