Pagini recente » Cod sursa (job #2022880) | Cod sursa (job #341360) | Cod sursa (job #2615803) | Cod sursa (job #2558250) | Cod sursa (job #2891963)
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long ll;
const int NMAX = 2e5+5;
int v[NMAX];
void solve(){
int n, k;
scanf("%d %d", &n, &k);
for(int i=0; i<n; ++i)
scanf("%d", &v[i]);
int l=0, r=n*16000+1;
while(l<r){
int m = (l+r)/2;
v[n] = m;
int cnt = 0, sum = 0;
for(int i=0; i<=n; ++i){
sum += v[i];
if(sum > m)
cnt++, sum=v[i];
}
if(cnt <= k)
r = m;
else
l = m+1;
}
printf("%d\n", l);
}
int main(){
freopen("transport.in", "r", stdin);
freopen("transport.out", "w", stdout);
int t = 1;
for(int i=0; i<t; ++i)
solve();
return 0;
}