Pagini recente » Cod sursa (job #1190553) | Cod sursa (job #1822117) | Cod sursa (job #881846) | Cod sursa (job #2263928) | Cod sursa (job #1730205)
#include <fstream>
using namespace std;
ifstream in ("transport.in");
ofstream out ("transport.out");
int nrMxTr,n,v[16001];
bool mrg(int m)
{
int s=0,i,g=1;
for(i=0; i<n; i++)
{
if(s+v[i]<=m)
s=s+v[i];
else
{
s=v[i];
g++;
}
}
if(g<=nrMxTr)
return 1;
else return 0;
}
int binar(int stg,int dr)
{
if(stg == dr)
return stg;
int mijl;
mijl=(stg+dr)/2;
if(mrg(mijl)==1)
return binar(stg,mijl);
else return binar(mijl+1,dr);
}
int main()
{
int mx=0,s=0,mijl;
in>>n>>nrMxTr;
for(int i=0; i<n; i++)
{
in>>v[i];
if(mx<v[i])
mx=v[i];
s = s + v[i];
}
out<<binar(mx,s);
return 0;
}