Pagini recente » Cod sursa (job #987296) | Cod sursa (job #216866) | Cod sursa (job #1639544) | Cod sursa (job #1292362) | Cod sursa (job #2140376)
#include <fstream>
using namespace std;
int v[100005],n,k,mx=0;
int verif(int nr)
{
int s=0,cnt=0;
for(int i=0;i<n;i++)
{
s+=v[i];
if(s>nr)
{
s=v[i];
cnt++;
}
}
cnt++;
if(cnt<=k)
return 0;
return 1;
}
int main()
{
ifstream cin("transport.in");
ofstream cout("transport.out");
int st=0,fn=0,mid,x;
cin >> n >> k;
for(int i=0;i<n;i++)
{
cin >> v[i];
fn+=v[i];
}
while(st+1 < fn)
{
mid = (st+fn)>>1;
x=verif(mid);
if(x==1)
st = mid;
else
fn = mid;
}
cout << fn;
return 0;
}