Test
To Do Something!

//
// Created by Luminous on 2024/11/1.
// https://open.kattis.com/problems/ballotboxes
//
#pragma GCC optimize(3)
#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
const int MAX_N = 5e5 + 10;
int a[MAX_N];
bool check(int n, int m, int k) {
for (int i = 0; i < n; i++) {
m -= ceil((double) a[i] / k);
}
return m >= 0;
}
bool solve() {
int n, m;
cin >> n >> m;
if (n == -1 && m == -1) {
return false;
}
for (int i = 0; i < n; i++) {
cin >> a[i];
}
int left = 0, right = 5e6 + 10;
while (left < right) {
int mid = left + right >> 1;
if (check(n, m, mid)) {
right = mid;
} else {
left = mid + 1;
}
}
int ans = right;
cout << ans << endl;
return true;
}
int main() {
ios::sync_with_stdio(false);
while (solve());
return 0;
}