Pagini recente » Cod sursa (job #1450526) | Cod sursa (job #441240) | Cod sursa (job #1605562) | Cod sursa (job #2158782) | Cod sursa (job #587335)
Cod sursa(job #587335)
#include <iostream>
using namespace std;
#define maxG 99999999999999LL
#define LL long long
#define maxN 100005
int N, K;
LL sol;
LL A[maxN];
int ok (LL G)
{
LL S = 0;
for (int i = 1; i <= N; ++ i)
S += min (A[i], G);
if (S / G < K) return 0;
return 1;
}
void bin_Search ()
{
LL st = 0, dr = maxG;
while (st <= dr)
{
LL mid = (st + dr) / 2;
if (ok (mid))
{
sol = max (mid, sol);
st = mid + 1;
}
else
dr = mid - 1;
}
}
int main()
{
freopen ("grupuri.in", "r", stdin);
freopen ("grupuri.out", "w", stdout);
scanf ("%d %d", &K, &N);
for (int i = 1; i <= N; ++ i)
scanf ("%lld", &A[i]);
bin_Search ();
printf ("%lld", sol);
return 0;
}