#include<bits/stdc++.h>
#define f1(i, n) for(ll i=1;i<=n;++i)
#define f0(i, n) for(ll i=0;i<n;++i)
#define ull unsigned long long
#define ll long long
#define rev(a) reverse(a.begin(),a.end())
#define all(x) x.begin(),x.end()
#define so(A, n) sort(A+1, A+n+1)
using namespace std;
const int maxn = 200010;
const int N = 1e6 + 1;
void solve2() {
ll n, k;
cin >> n >> k;
ll A[n + 1];
f1(i, n) cin >> A[i];
ll left = 1, right = LLONG_MAX - 1, res = 0;
while (left <= right) {
ll mid = (left + right) / 2, cnt = 0;
for (int i = 1; i <= n; ++i) {
cnt += A[i] / mid;
}
if (cnt >= k) {
res = max(res, mid);
left = mid + 1;
}
else {
right = mid - 1;
}
}
cout << res;
}
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
// freopen("pay.inp","r",stdin);
// freopen("pay.out","w",stdout);
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBmMShpLCBuKSBmb3IobGwgaT0xO2k8PW47KytpKQojZGVmaW5lIGYwKGksIG4pIGZvcihsbCBpPTA7aTxuOysraSkKI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgcmV2KGEpIHJldmVyc2UoYS5iZWdpbigpLGEuZW5kKCkpCiNkZWZpbmUgYWxsKHgpIHguYmVnaW4oKSx4LmVuZCgpCiNkZWZpbmUgc28oQSwgbikgc29ydChBKzEsIEErbisxKQp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgbWF4biA9IDIwMDAxMDsKY29uc3QgaW50IE4gPSAxZTYgKyAxOwoKdm9pZCBzb2x2ZTIoKSB7CglsbCBuLCBrOwoJY2luID4+IG4gPj4gazsKCWxsIEFbbiArIDFdOwoJZjEoaSwgbikgY2luID4+IEFbaV07CglsbCBsZWZ0ID0gMSwgcmlnaHQgPSBMTE9OR19NQVggLSAxLCByZXMgPSAwOwoJd2hpbGUgKGxlZnQgPD0gcmlnaHQpIHsKCQlsbCBtaWQgPSAobGVmdCArIHJpZ2h0KSAvIDIsIGNudCA9IDA7CgkJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgKytpKSB7CgkJCWNudCArPSBBW2ldIC8gbWlkOwoJCX0KCQlpZiAoY250ID49IGspIHsKCQkJcmVzID0gbWF4KHJlcywgbWlkKTsKCQkJbGVmdCA9IG1pZCArIDE7CgkJfQoJCWVsc2UgewoJCQlyaWdodCA9IG1pZCAtIDE7CgkJfQoJfQoJY291dCA8PCByZXM7Cn0KaW50IG1haW4oKQp7Cglpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKCgkvLyBmcmVvcGVuKCJwYXkuaW5wIiwiciIsc3RkaW4pOwoJLy8gZnJlb3BlbigicGF5Lm91dCIsInciLHN0ZG91dCk7CgoKCglyZXR1cm4gMDsKfQoK