Pagini recente » Cod sursa (job #2055302) | Cod sursa (job #1352656) | Cod sursa (job #1255112) | Cod sursa (job #2056189) | Cod sursa (job #1801098)
#include <fstream>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int i,n,j,v[16001],r,k,p,t,m;
int l(int s)
{
r=1;
j=0;
for(i=1;i<=n;++i)
{
j+=v[i];
if(j>s) {++r;j=v[i];}
if(r>k)return 0;
}
return 1;
}
int main()
{
f>>n>>k;
for(i=1;i<=n;++i) {f>>v[i];p+=v[i];}
t=1;
while(t<=p)
{
m=(t+p)/2;
if(l(m)) p=m-1;
else t=m+1;
}
g<<t;
return 0;
}