Pagini recente » Cod sursa (job #1782911) | Cod sursa (job #2975518) | Cod sursa (job #1029853) | Cod sursa (job #1115144) | Cod sursa (job #2069227)
#include<fstream>
#include<math.h>
#include<algorithm>
using namespace std;
int main()
{
ifstream cin("transport.in");
ofstream cout("transport.out");
int n,k,i,a,b,v[16000],s,l=0,nr=0,mij,f=0;
cin>>n>>k;
for(i=0;i<n;i++){cin>>v[i];f=f+v[i];}
s=*max_element(v,v+n);
mij=(s+f)/2;
while(s<=f)
{
nr=0;
l=0;
for(i=0;i<n;i++)
{
l=l+v[i];
if(l>mij)
{
l=0;
nr++;
i--;
}
}
if(nr<k)
{
f=mij;
mij=(s+f)/2;
}
if(nr>k)
{
s=mij;
mij=(s+f)/2;
}
if(nr==k)
{
cout<<mij+1;
break;
}
}
}