Pagini recente » Cod sursa (job #1201962) | Borderou de evaluare (job #2870036) | Cod sursa (job #1641992) | Cod sursa (job #646221) | Cod sursa (job #2123623)
#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;
}