Pagini recente » Cod sursa (job #1638710) | Cod sursa (job #249283) | Cod sursa (job #2515777) | Cod sursa (job #2547019) | Cod sursa (job #2535275)
#include<iostream>
#include<fstream>
using namespace std;
//ifstream f("transport.in");
//ofstream g("transport.out");
int main()
{
int n,nr,a[16000],i,st=0,dr=0,sol=0;
cin>>n>>nr;
for(i=0;i<n;i++)
{
cin>>a[i];
if(st<a[i])
st=a[i];
dr=dr+a[i];
}
while(st<=dr)
{
int mij=(st+dr)/2;
int k=1,l=0;
for(i=0;i<n;i++)
{
l=l+a[i];
if(l>mij)
{
k++;
l=a[i];
}
if(k>nr)
{
st=mij+1;
break;
}
}
if(k<=nr)
{
dr=mij-1;
sol=mij;
}
}
cout<<sol;
return 0;
}