Pagini recente » Cod sursa (job #1646397) | Cod sursa (job #581736) | Cod sursa (job #1178029) | Cod sursa (job #1363370) | Cod sursa (job #2093368)
#include <fstream>
using namespace std;
ifstream f ("transport.in");
ofstream g ("transport.out");
int n,k,a[16000],sm,step,i,z;
int capcam (int val)
{
int j=1,nrt=0,s;
while(j<=n && a[j]<=val)
{
s=0;
while(s+a[j]<=val && j<=n)
{
s=s+a[j];
j++;
}
nrt++;
}
if(nrt<=k && j==n+1)
return 1;
else
return 0;
}
int main()
{
f>>n>>k;
for (i=1;i<=n;i++)
{
f>>a[i];
sm+=a[i];
}
for (step=1;step<sm;step<<=1);
for (i=0;step;step>>=1)
{
z=capcam(i+step);
if (i+step<sm && z==0)
i+=step;
}
g<<i+1<<'\n';
return 0;
}