#include #include using namespace std; using i32 = int; using i64 = long long; using i128 = __int128_t; using f64 = double; using p2 = pair; using p3 = tuple; void _main(); int main() { cin.tie(0); ios::sync_with_stdio(false); cout << fixed << setprecision(18); _main(); } void _main() { i64 n, m; cin >> n >> m; priority_queue, greater> que; for (i64 i = 0; i < m; i++) que.push(0); i64 ans = 0; for (i64 i = 0; i < n; i++) { i64 x = que.top(); que.pop(); i64 t; cin >> t; que.push(x + t); ans = max(ans, x + t); } cout << ans << "\n"; }