#include<bits/stdc++.h> usingnamespace std; constexprint MAXN = 1e5 + 5; int a[MAXN]; intmain(){ ios::sync_with_stdio(false); cin.tie(nullptr); int N, M, ma = 0; cin >> N >> M; for(int i = 0; i < N; i++) { cin >> a[i]; ma = max(ma, a[i]); } int l = ma, r = 1e9, ans; while (l <= r) { int mid = (l + r) / 2, cnt = 1, acc = 0; for(int i = 0; i < N; i++) { int t = a[i] + acc; if (t > mid) { cnt++; acc = a[i]; } else acc = t; } if (cnt <= M) { ans = mid; r = mid - 1; } else l = mid + 1; } cout << ans; return0; }