Pagini recente » Cod sursa (job #1263932) | Cod sursa (job #409805) | Cod sursa (job #424613) | Cod sursa (job #1655083) | Cod sursa (job #1265706)
# include <bits/stdc++.h>
using namespace std;
ifstream fi("transport.in");
ofstream fo("transport.out");
int s[16005],n;
bool verif(int l,int k)
{
int p=l,nm=1;
for (int i=1;i<=n;++i)
{
if (s[i] <= p) p-=s[i];else ++nm,p=l-s[i];
if (p < 0) return 0;
}
return (nm <= k);
}
int main(void)
{
int k,Sum=0;
fi>>n>>k;
for (int i=1;i<=n;++i) fi>>s[i],Sum+=s[i];
int p=1,u=Sum;
while (p < u) if (verif((p+u)/2,k)) u=(u+p)/2;else p=(p+u)/2+1;
return fo << (p+u)/2 << '\n',0;
}