Pagini recente » Cod sursa (job #2527033) | Rating Muraru Costin (costin22) | Cod sursa (job #336163) | Cod sursa (job #3039208) | Cod sursa (job #2954673)
#include <fstream>
using namespace std;
ifstream cin("transport.in");
ofstream cout("transport.out");
int n,cnt_camion;
int v[16005];
int IsOk(int volum)
{
int suma=0,cnt=1;
for(int i=0;i<n;i++)
{
if(suma+v[i]<=volum)
{
suma+=v[i];
}
else
{
if(v[i]>volum)
{
///cout<<"nu merge\n";
return false;
}
else
{
suma=v[i];
cnt++;
}
if(cnt>cnt_camion)
{
///cout<<"nu merge\n";
return false;
}
}
}
if(cnt>cnt_camion)
{
//cout<<"nu merge\n";
return false;
}
///cout<<"MERGE\n";
return true;
}
int main()
{
//ifstream cin("transport.in");
//ofstream cout("transport.out");
int st,dr,mij;
cin>>n>>cnt_camion;
for(int i=0;i<n;i++)
{
cin>>v[i];
}
st=0;
dr=16000*16000;
while(st<dr)
{
mij=(st+dr+1)/2;
///cout<<"mij="<<mij<<" ";
if(IsOk(mij)==true)
{
dr=mij;
}
else
{
st=mij+1;
}
}
cout<<st;
return 0;
}