#include using namespace std; int main(){ int N, M; cin >> N >> M; vector A(N); for (int i = 0; i < N; i++){ cin >> A[i]; } int tv = 0, fv = 1000000001; while (fv - tv > 1){ int mid = (tv + fv) / 2; bool ok = true; vector B(N); for (int i = 0; i < N; i++){ B[i] = A[i]; } for (int i = 0; i < N; i++){ if (B[i] < mid){ ok = false; break; } if (i < N - 1){ B[i + 1] += B[i] - mid; } } if (ok){ tv = mid; } else { fv = mid; } } cout << tv / M << endl; }