Pagini recente » Cod sursa (job #1388233) | Cod sursa (job #3273976) | Cod sursa (job #1140633) | Cod sursa (job #2550091) | Cod sursa (job #64937)
Cod sursa(job #64937)
#include<fstream.h>
ifstream f("transport.in");
ofstream g("transport.out");
int i,n,min,max,cap,gas,nr,s,k,p,a[16001];
int main()
{
f>>n>>k;
for(i=1;i<=n;i++)
{
f>>a[i];
if(a[i]>min)
min=a[i];
max+=a[i];
}
s=s;
while(max-min>1)
{
cap=(min+max)/2;
nr=1;
s=0;
p=0;
for(i=1;i<=n;i++)
if(s+a[i]>cap)
{
nr++;
s=a[i];
}
else
s+=a[i];
if(nr>k)
min=cap;
else
max=cap;
}
cap=(max+min)/2;
g<<cap;
f.close();
g.close();
return 0;
}