Pagini recente » Cod sursa (job #24259) | Cod sursa (job #1909200) | Cod sursa (job #2377828) | Cod sursa (job #2150478) | Cod sursa (job #2937819)
#include <fstream>
using namespace std;
const int N=16e3;
int v[N], n,k;
int Cmax=16000*16000;
ifstream fin ("transport.in");
ofstream fout ("transport.out");
bool se_poate(int c)
{
int cc=0, nrt=0;
for (int i=0 ; i<n ; i++)
{
if (v[i]>cc)
{
cc=c;
nrt++;
}
if (v[i]>cc)
{
return false;
}
cc-=v[i];
}
return (nrt<=k);
}
int main()
{
fin>>n>>k;
for (int i=0 ; i<n ; i++)
{
fin>>v[i];
}
int st=0 , dr=Cmax;
int rez;
while (st<=dr)
{
int m=(st+dr)/2;
if (se_poate(m)==true)
{
rez=m;
dr=m-1;
}
else
{
st=m+1;
}
}
fout<<rez;
return 0;
}