Pagini recente » Cod sursa (job #2522336) | Cod sursa (job #1148137) | Cod sursa (job #70875) | Rating Stef 2 (Gradinaru_Stefan) | Cod sursa (job #196823)
Cod sursa(job #196823)
//transport
#include <stdio.h>
#define INPUT "transport.in"
#define OUTPUT "transport.out"
#define NMAX 16384
int N, K;
int v[NMAX];
int ctotal;
int verif()
{
int i, nrs = 1, c = 0;
for(i = 0; i < N; ++i)
if(v[i] > ctotal) return 0;
else if(v[i] + c <= ctotal) c += v[i];
else
{
++nrs, c = v[i];
if(nrs > K) return 0;
}
return 1;
}
int main()
{
freopen(INPUT, "r", stdin);
freopen(OUTPUT, "w", stdout);
scanf("%d %d", &N, &K);
int i;
for(i = 0; i < N; ++i)
scanf("%d", v+i);
for(ctotal = 0, i = 28; i >= 0; --i)
{
ctotal += 1<<i;
if(verif()) ctotal -= 1<<i;
}
printf("%d\n", ctotal+1);
return 0;
}