Pagini recente » Istoria paginii utilizator/boss_de_boss | Cod sursa (job #222728) | Cod sursa (job #1119645) | Istoria paginii runda/oni_cl_11-12_sim3 | Cod sursa (job #291484)
Cod sursa(job #291484)
# include <cstdio>
# define FIN "grupuri.in"
# define FOUT "grupuri.out"
# define min(a, b) (a < b ? a : b)
# define MAXN 100005
long long N, K, i, s = 0;
long long A[MAXN];
int ok(long long val)
{
long long ct = 0;
for (i = 1; i <= N; ++i)
ct += min(val, A[i]);
if (ct / val >= K) return 1;
return 0;
}
long long search(long long st, long long dr)
{
long long mij, sol = 0;
while (st <= dr)
{
mij = (st + dr) >> 1;
if (ok(mij))
{
sol = mij;
st = mij + 1;
} else dr = mij - 1;
}
return sol;
}
int main()
{
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
scanf("%lld %lld", &K, &N);
for (i = 1; i <= N; ++i)
scanf("%lld", &A[i]), s += A[i];
printf("%lld", search(1, s / K));
return 0;
}