#include #include #include #include using namespace std; int main() { int K = 0, N = 0, S = 1; scanf("%d %d %d", &N, &K, &S); vector p; int temp = 0; for (int i = 0; i < N; i++) { scanf("%d", &temp); p.push_back(temp); } for (int i = 0; i < p.size(); i++) { p[i] = p[i] / S + (p[i] % S > 0); if (i > 0) { p[i] += p[i-1]; } } int t = 2000000000; for (int i = 0, k = K; i < p.size(); i++) { k = K; for (int j = 0, mod = 0; j < p.size(); j++) { if (k < 0) { break; } if (p[j] - mod >= p[i]) { k--; mod = p[j]; } } if (k >= 0) { t = min(t, p[i]); } } printf("%d", t); }