Pagini recente » Cod sursa (job #1786078) | Cod sursa (job #615965) | Cod sursa (job #1539621) | Cod sursa (job #2615931) | Cod sursa (job #281469)
Cod sursa(job #281469)
#include<fstream>
std::ifstream f("transport.in");
std::ofstream g("transport.out");
#define NMAX 16500
int n,k,b,a[NMAX],i,j,step;
int test(int v)
{ int i=1,m=0,s=0;
while(i<=n) { s+=a[i];
if(s>v) ++m,s=a[i];
++i;
}
if(s>0) ++m;
return m;
}
int main()
{ f>>n>>k;
for(i=1;i<=n;++i) f>>a[i];
for(step=1;step<=16500;step<<=1);
for(i=0;step;step>>=1)
{ j=test(i+step);
if(j>k)
i+=step;
else if(j==k) { g<<i+step<<"\n";
f.close();
g.close();
return 0;
}
}
g<<i<<"\n";
f.close();
g.close();
return 0;
}