boolcheck(int x) { ll res = 0; for (int i = 0; i < N; ++i) res += ceil(arr[i] / x); return res >= K; }
intmain() { cin >> N >> K; int mx = INT_MIN; for (int i = 0; i < N; ++i) { cin >> arr[i]; mx = max(mx, arr[i]); } int l = 1, r = mx; while (l <= r) { int mid = l + (r - l) / 2; if (check(mid)) l = mid + 1; else r = mid - 1; } cout << r; return0; }