Pagini recente » Cod sursa (job #1161294) | Cod sursa (job #1520078) | Cod sursa (job #1588023) | Cod sursa (job #1378928) | Cod sursa (job #2123619)
#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 += 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;
}