#include <cstdio>
const int maxn = 1e6 + 5;
int n, k, a[maxn];
bool check(long long s) {
long long sum = 0;
for (int i = 1; i <= n; i++) {
if (a[i] <= s) {
sum += s - a[i] + 1;
if (sum > s * k) return false;
}
}
return sum <= s * k;
}
int main() {
scanf("%d %d", &n, &k);
for (int i = 1; i <= n; i++)
scanf("%d", &a[i]);
long long l = 0, r = 2e12, ans = 0;
while (l <= r) {
long long mid = (l + r) / 2;
if (check(mid)) {
ans = mid;
l = mid + 1;
} else {
r = mid - 1;
}
}
printf("%lld\n", ans);
return 0;
}
~其实我是 100 分~