Pagini recente » Cod sursa (job #470528) | Cod sursa (job #3158961) | Cod sursa (job #2330012) | Cod sursa (job #1739100) | Cod sursa (job #474227)
Cod sursa(job #474227)
#include<fstream.h>
using namespace std;
ifstream in("transport.in");
ofstream out("transport.out");
long n,k,v[16*1024];
long ver(long a)
{
long i,p=k,s=a;
for(i=1;i<=n && p;i++)
if(v[i]<=s)
s-=v[i];
else
{
p--;
s=a;
i--;
}
if(i==n+1)
return 1;
return 0;
}
long cauta(long a,long b)
{
long c;
if(a==b)
return a;
c=(a+b)/2;
if(ver(c))
return cauta(a,c);
else
return cauta(c+1,b);
}
int main()
{
long i;
in>>n>>k;
for(i=1;i<=n;i++)
in>>v[i];
out<<cauta(1,16000*16000)<<'\n';
return 0;
}