Pagini recente » Cod sursa (job #445134) | Borderou de evaluare (job #1119999) | Cod sursa (job #488981) | Cod sursa (job #575899) | Cod sursa (job #252599)
Cod sursa(job #252599)
#include<fstream.h>
ifstream f("transport.in");
ofstream g("transport.out");
int st,dr,i,v[16001],n,k,sol;
int gr(int x)
{
int i,j=1,s=0;
for(i=1;i<=n;i++)
{
if(s+v[i]<=x) s+=v[i];
else s=v[i],j++;
}
return j;
}
int main()
{ int aux,suma=0,max=0;
f>>n>>k;
for(i=1;i<=n;i++)
{
f>>v[i];
if(v[i]>max) max=v[i];
suma+=v[i];
}
st=max;
dr=suma;
while(st<=dr)
{
aux=st+(dr-st)/2;
if(gr(aux)<=k) sol=aux,dr=aux-1;
else st=aux+1;
}
g<<sol;
return 0;
}