Pagini recente » Cod sursa (job #685414) | Cod sursa (job #245226) | Cod sursa (job #2806166) | Cod sursa (job #452400) | Cod sursa (job #2535277)
#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;
f>>n>>nr;
for(i=0;i<n;i++)
{
f>>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;
}
}
g<<sol;
return 0;
}