Pagini recente » Cod sursa (job #489847) | Cod sursa (job #888412) | Cod sursa (job #2210116) | Cod sursa (job #2961132) | Cod sursa (job #2353600)
#include <fstream>
using namespace std;
int n, k, st, dr, nr, a[100001], s, i, mid;
int main () {
ifstream fin ("grupuri.in");
ofstream fout ("grupuri.out");
fin>>k>>n;
for (i=1;i<=n;i++) {
fin>>a[i];
s+=a[i];
}
st=1;
dr=s/k;
while (st<=dr) {
mid = (st+dr)/2;
nr=0;
for (i=1;i<=n;i++) {
if (a[i]<=mid) {
nr+=a[i];
}else
nr+=mid;
}
if (nr>=mid*k)
dr=mid-1;
else
st=mid+1;
}
fout<<dr;
return 0;
}