Pagini recente » Cod sursa (job #314274) | Cod sursa (job #2514134) | Cod sursa (job #3143877) | Cod sursa (job #440354) | Cod sursa (job #317952)
Cod sursa(job #317952)
#include <fstream.h>
#define N 16001
//using namespace std;
ifstream f1 ("transport.in");
ofstream f2 ("transport.out");
int v[N],n,k,f;
int valid (int c)
{
int nr=1, suma=0;
f=1;
for (int i=1; i<=n; i++)
{
suma+=v[i];
if (suma>c) {nr++; suma=v[i];}
if (nr>k) f= 0;
}
// return (nr<=k);
}
int main ()
{int t,i,st,dr,k2;
f1>>n>>k;
t=0;
for (i=1 ;i<=n;i++)
{f1>>v[i];
t+=v[i];
}
st=1;
dr=t;
while (st<=dr)
{
k2=(st+dr)/2;
valid(k2);
if (f==1) dr=k2-1;
else st=k2+1;
}
f2<<st;
return 0;
}