Pagini recente » Cod sursa (job #2776501) | Cod sursa (job #1456477) | Cod sursa (job #2237512) | Cod sursa (job #1042510) | Cod sursa (job #323253)
Cod sursa(job #323253)
#include<fstream>
#define maxn 17000
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int a[maxn],stiva[maxn],i,j,k,n,step,p,mint;
int calc(int k)
{
int i=1,t=0,r=0;
for(i=1;i<=n;++i)
{
if(a[i]+t>k)
{
++r;
t=0;
}
t+=a[i];
}
++r;
return r;
}
int main()
{
f>>n>>k;
for(i=1;i<=n;++i)
{
f>>a[i];
if(a[i]>mint) mint=a[i];
}
j=16000*16000;
for(step=1;step<j;step<<=1);
for(i=0;step;step>>=1)
if((i+step<=j&&calc(i+step)>k)||(i+step<mint))
i+=step;
g<<i+1<<"\n";
f.close();
g.close();
return 0;
}