Pagini recente » Cod sursa (job #656773) | bvvgv | Cod sursa (job #2424114) | Cod sursa (job #1125409) | Cod sursa (job #2338967)
#include <fstream>
#include <algorithm>
using namespace std;
int v[16001];
int n,k;
ifstream cin("transport.in");
ofstream cout("transport.out");
bool verif(long long m)
{ int s=0,cnt=1;
for(int i=1;i<=n;++i)
{
if(v[i]>m) return 0;
else
if(v[i]+s<=m) s+=v[i];
else
{
cnt++;
s=v[i];
if(cnt>k)
return 0;
}
} return 1;
}
int cb()
{
long long msk,pos=0;
for(msk=1<<30;msk>0;msk/=2)
{
if(verif(pos+msk)==0)
pos+=msk;
} pos++;
return pos;
}
int main()
{
int sum=0,sumx=-1,j,i;
cin>>n>>k;
for(i=1;i<=n;++i)
{
cin>>v[i];
}
cout<<cb();
return 0;
}