Pagini recente » Cod sursa (job #323424) | Cod sursa (job #2561626) | Cod sursa (job #728901) | Cod sursa (job #71778) | Cod sursa (job #2398351)
#include <fstream>
using namespace std;
ifstream fin ("transport.in") ;
ofstream fout ("transport.out") ;
long long v[16002],n,k,i,st,dr,t,mij ;
int verif(int c)
{
int s,ok,tr ;
ok=1 ;
s=0 ;
tr=0 ;
for (i=1;i<=n;i++)
{
if (v[i]>c) ok=0 ;
else if (s+v[i]<=c) s=s+v[i] ;
else
{
tr++ ;
s=v[i] ;
}
}
if (s>0) tr++ ;
if (tr>k) ok=0 ;
return ok;
}
int main()
{
fin >> n >> k ;
for (i=1;i<=n;i++) fin >> v[i] ;
t=-1 ;
st=1 ;
dr=256000000 ;
while (st<dr)
{
mij=(st+dr)/2 ;
if (verif(mij))
{
t=mij ;
dr=mij;
}
else st=mij+1 ;
}
fout << t ;
return 0;
}