Cod sursa(job #572513)
#include<iostream>
#include<fstream>
#include<stdio.h>
using namespace std;
int n,k,salt[20000];
int caut()
{
int suma,maxim=-20000,capac=20000,varf,l,i,s=0;
for(i=1;i<=n;i++)
{
if(salt[i]>maxim)
maxim=salt[i];
s=s+salt[i];
}
for(l=maxim;l<=s;l++)
{
varf=0;
suma=0;
for(i=1;i<=k;i++)
{
suma=0;
do
{
varf++;
suma=suma+salt[varf];
}
while((suma<=l)&&(varf<=n));
varf--;
}
if(varf==n)
if(l<capac)
capac=l;
}
return capac;
}
int main()
{
ifstream f("transport.in");
ofstream g("transport.out");
f>>n>>k;
int i;
for(i=1;i<=n;i++)
f>>salt[i];
g<<caut();
}