Pagini recente » Cod sursa (job #2275050) | Cod sursa (job #1402663) | Cod sursa (job #1841830) | Cod sursa (job #2060403) | Cod sursa (job #1804874)
#include<fstream>
#include<algorithm>
using namespace std;
int main()
{
int maxim=0,x=0,n,k,i,v[16010],st,dr,mid,s=0,counter=1;
ifstream fin("transport.in");
ofstream fout ("transport.out");
fin>>n>>k;
for(i=0;i<n;++i)
{
fin>>v[i];
maxim=max(maxim,v[i]);
x+=v[i];
}
st=maxim;
dr=x;
while(st<=dr)
{
mid=(st+dr)/2;
for(i=0;i<n;++i)
{
s=s+v[i];
if(s>mid)
{
counter++;
s=v[i];
}
}
if(counter>k)
{
st=mid+1;
counter=1;
s=0;
}
else
{
dr=mid-1;
counter=1;
s=0;
}
}
fout<<st;
}