Pagini recente » Cod sursa (job #1566638) | Cod sursa (job #2858625) | Cod sursa (job #2292824) | Cod sursa (job #1752121) | Cod sursa (job #2129248)
#include <fstream>
using namespace std;
long long a[100010], n, k, suma, i, gmax, mid, st, dr, s;
int main () {
ifstream fin ("grupuri.in");
ofstream fout("grupuri.out");
fin>>k>>n;
for (i=1;i<=n;i++) {
fin>>a[i];
suma += a[i];
}
gmax = suma/k;
st = 1;
dr = gmax;
while (st <= dr) {
mid = st + (dr - st)/2;
s = 0;
for (i=1;i<=n;i++)
s+=min(mid, a[i]);
if (s >= k * mid)
st = mid+1;
else
dr = mid-1;
}
fout<<dr;
return 0;
}