Pagini recente » Cod sursa (job #1318122) | Cod sursa (job #1700794)
#include<fstream>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int n,m,v[16005],min1,sum;
bool verif(int x)
{
int act,ori,i;
act=0;
ori=1;
for(i=1;i<=n;i++)
if(act+v[i]>x)
{
act=v[i];
ori++;
if(ori>m)
return 0;
}
else
act+=v[i];
return 1;
}
int main()
{
int i;
f>>n>>m;
for(i=1;i<=n;i++)
{
f>>v[i];
min1=max(v[i],min1);
sum+=v[i];
}
int mijl,st,dr, ok=0;
st=min1;
dr=sum;
while(st<=dr)
{
mijl=(st+dr)/2;
if(verif(mijl))
{
ok=mijl;
dr=mijl-1;
}
else
st=mijl+1;
}
g<<ok;
return 0;
}