Pagini recente » Cod sursa (job #1504150) | Cod sursa (job #1432123) | Cod sursa (job #868566) | Cod sursa (job #1315331) | Cod sursa (job #2472021)
#include <bits/stdc++.h>
using namespace std;
ifstream ci("transport.in");
ofstream cou("transport.out");
int n,k,st=1,dr=16001,mij,v[16001];
int verif (int cap)
{
int nrtrans=1,cap1=0,i;
for(i=1; i<=n; i++)
{
cap1+=v[i];
if(cap1>cap)
{
cap1=v[i];
nrtrans++;
}
}
return nrtrans;
}
int cautarebin()
{
int p,rez=0;
while(st<=dr)
{
mij=(st+dr)/2;
p=verif(mij);
if(p>k )
{
st=mij+1;
}
else
{
rez=mij;
dr=mij-1;
}
}
return rez;
}
int main()
{
int i,x,mx=0;
ci>>n>>k;
for(i=1; i<=n; i++)
{
ci>>v[i];
mx=max(v[i],mx);
}
st=mx;
x=cautarebin();
cou<<x;
}