Pagini recente » Cod sursa (job #3270573) | Cod sursa (job #3263185) | Cod sursa (job #2797800) | Cod sursa (job #1055393) | Cod sursa (job #1027533)
#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=(st+dr)/2;
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;
for (i=1;i<=n;i++)
{
f>>v[i];
s+=v[i];
}
g<<cautbinar(v,1,n,k);
f.close();
g.close();
}