Pagini recente » Cod sursa (job #2729636) | Cod sursa (job #2539831) | Cod sursa (job #1227449) | Cod sursa (job #2576798) | Cod sursa (job #1027543)
#include<fstream>
using namespace std;
ifstream f ("transport.in");
ofstream g("transport.out");
int n,k,v[16005],s,i;
int cautbinar(int v[], int st, int dr, int k)
{
int m;
while (st<dr)
{
int s=0,t=1;
m=(st+dr)/2;
for (i=1;i<=n;i++)
{
if (s+v[i]<=m) s+=v[i];
else
{
t++;
s=v[i];
}
}
if (t>k) st=m+1;
else dr=m;
}
return st;
}
int main ()
{
f>>n>>k;
s=0;
for (i=1;i<=n;i++)
{
f>>v[i];
s+=v[i];
}
g<<cautbinar(v,1,s,k);
f.close();
g.close();
}