/* -*- coding: utf-8 -*- * * 1808.cc: No.1808 Fullgold Alchemist - yukicoder */ #include #include using namespace std; /* constant */ const int MAX_N = 200000; const int INF = 1 << 30; /* typedef */ typedef long long ll; /* global variables */ int as[MAX_N]; /* subroutines */ /* main */ int main() { int n, m; scanf("%d%d", &n, &m); for (int i = 0; i < n; i++) scanf("%d", as + i); int minav = INF; for (int i = n - 1; i >= 0;) { int j = i; ll sum = 0; while (j >= 0 && sum <= (ll)as[j] * (i - j)) sum += as[j--]; int av = sum / (i - j); minav = min(minav, av); i = j; } printf("%d\n", minav / m); return 0; }