Pagini recente » Cod sursa (job #724046) | Cod sursa (job #2229336) | Cod sursa (job #2797608) | Cod sursa (job #3266188) | Cod sursa (job #1868540)
#include <cstdio>
#define NMAX 16005
using namespace std;
FILE *f = freopen("transport.in", "r", stdin);
FILE *g = freopen("transport.out", "w", stdout);
int v[NMAX], n, k, maxim, s=0;
void read() {
scanf("%d%d", &n, &k);
for(int i = 1; i<=n; i++)
{
scanf("%d", &v[i]);
s += v[i];
if(v[i] > maxim)
maxim = v[i];
}
}
int verif(int v[], int n, int k, int val) {
int s = 0;
for(int i = 1; i<=n; i++)
{
s += v[i];
if(s == val)
{
s = 0;
k --;
}
else if(s > val){
s = 0;
i --;
k --;
}
if(k == 0 && i < n)
return 0;
}
if(k < 0) return 0;
return 1;
}
void solve() {
bool ok = false;
while(!ok) {
if(verif(v, n, k, maxim))
{
ok = true;
printf("%d", maxim);
}
maxim ++;
}
}
int main() {
read();
solve();
return 0;
}