Pagini recente » Borderou de evaluare (job #1383225) | Borderou de evaluare (job #3177266) | Borderou de evaluare (job #1575506) | Borderou de evaluare (job #2030984) | Cod sursa (job #2501759)
#include <fstream>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
long long k,n,i,v[16001],d,s,mij,sum,vmax,kk,j,l;
int main()
{
fin>>n>>k;
for(i=1;i<=n;i++)
{
fin>>v[i];
if(v[i]>vmax)
{
vmax=v[i];
}
d=d+v[i];
}
s=vmax;
if(k==1)
{
j=d;
}
else
{
while(1)
{
kk=0;
sum=0;
mij=(s+d)/2;
for(i=1;i<=n;i++)
{
sum=sum+v[i];
if(sum>mij)
{d=d+v[i];
kk++;
sum=v[i];
}
}
kk++;
if(kk>k or l==1)
{
break;
}
if(s==mij)
{
l=1;
}
j=mij;
d=mij;
}
}
fout<<j;
return 0;
}