Pagini recente » Cod sursa (job #1586550) | Cod sursa (job #1695147) | Cod sursa (job #1097979) | Cod sursa (job #1371350) | Cod sursa (job #1502487)
#include <bits/stdc++.h>
#define nmax 100005
using namespace std;
int k, n, a[nmax];
long long sum;
bool Verif(int M)
{
int i;
long long S = 0;
for (i = 1; i <= n; i ++)
S += min(a[i], M);
if (S >= M * 1LL * k)
return true;
return false;
}
int CautBin(int st, int dr)
{
int mij, sol;
sol = -1;
while (st <= dr)
{
mij = st + (dr - st) / 2;
if (Verif (mij))
{
sol = mij;
st = mij + 1;
}
else
dr = mij - 1;
}
return sol;
}
int main ()
{
int i, x;
freopen("grupuri.in" ,"r", stdin);
freopen("grupuri.out","w", stdout);
scanf ("%d %d", &k, &n);
for (i = 1; i <= n; i ++)
{
scanf ("%d", a + i);
sum += a[i];
}
sum /= k;
x = CautBin(0, sum);
printf ("%d\n", x);
return 0;
}