Pagini recente » Cod sursa (job #1039958) | Cod sursa (job #1321338) | Cod sursa (job #1452192) | Cod sursa (job #2481054) | Cod sursa (job #2803351)
#include <fstream>
using namespace std;
ifstream cin("transport.in");
ofstream cout("transport.out");
long long v[16001];
long long n,k;
long long ver(long long a)
{
long long i,p=k,s=a;
for(i=1; i<=n && p!=0; i++)
if(v[i]<=s)
s-=v[i];
else
{
p--;
s=a;
i--;
}
if(i==n+1)
return 1;
return 0;
}
long long cautbin(long long a, long long b)
{
long c;
if(a==b)
return a;
c=(a+b)/2;
if(ver(c))
return cautbin(a,c);
else
return cautbin(c+1,b);
}
int main()
{
long long i;
cin>>n>>k;
for(i=1; i<=n; i++)
cin>>v[i];
cout<<cautbin(1,256000000)<<'\n';
return 0;
}