Pagini recente » Cod sursa (job #1314893) | Cod sursa (job #345834) | Cod sursa (job #2407619) | Cod sursa (job #48929) | Cod sursa (job #2705092)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("grupuri.in");
ofstream fout("grupuri.out");
long long n, k, a[100005], st;
long long dr, sol;
bool check(long long x)
{
long long s = 0;
for (int i = 1; i <= n; i++)
s += min(x, a[i]);
if (s > 1ll * x * k) return 1;
return 0;
}
int main()
{
int i, mij;
fin >> k >> n;
for (i = 1; i <= n; i++)
{
fin >> a[i];
dr += a[i];
}
dr /= k;
st = 1;
while (st <= dr)
{
mij = (st + dr) / 2;
if (check(mij) == 0)
{
sol = mij;
dr = mij - 1;
}
else st = mij + 1;
}
fout << sol << "\n";
return 0;
}