Pagini recente » Cod sursa (job #1161445) | Cod sursa (job #1266960) | Cod sursa (job #935899) | Cod sursa (job #594753) | Cod sursa (job #2088682)
#include <fstream>
using namespace std;
ifstream cin("transport.in");
ofstream cout("transport.out");
int n,maxx=-1,k;
int v[16005];
int kappa(int x)
{
int s=0,i,lim=0;
for(i=1;i<n;i++)
{
s+=v[i];
if(v[i+1]+s>x)
{
s=0;
lim++;
}
}
return lim+1;
}
void verif()
{
int r=0;
int pas=1<<28;
while(pas)
{
if(pas+r<maxx||kappa(r+pas)>k)
r+=pas;
pas=pas/2;
}
cout<<r+1;
}
int main()
{
int maxx1=-1,j,i;
cin>>n>>k;
for(j=1;j<=n;j++)
{
cin>>v[j];
if(v[j]>maxx)
maxx=v[j];
}
verif();
return 0;
}