Pagini recente » Cod sursa (job #1078429) | Cod sursa (job #3295492)
#include <fstream>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int v[16001];
int main()
{
int n,i,k,c,valmax=-1,st=-1,dr=0,sol,mijl,nr;
fin>>n>>k;
for(i=1;i<=n;i++)
{
fin>>v[i];
if(v[i]>st)
st=v[i];
dr+=v[i];
}
while(st<=dr)
{
c=1;
mijl=(st+dr)/2;
nr=mijl;
for(i=1;i<=n;i++)
if(nr<v[i])
c++, nr=mijl-v[i];
else
nr-=v[i];
if(c>k)
st=mijl+1;
else
{
sol=mijl;
dr=mijl-1;
}
}
fout<<sol;
return 0;
}