Pagini recente » Cod sursa (job #2134500) | Cod sursa (job #2556619) | Cod sursa (job #1843361) | Cod sursa (job #1436577) | Cod sursa (job #2524807)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int n,k,v[16005],st,dr,mid;
bool verif(int greu){
int g=0,kk=1;
for(int i=1;i<=n;i++){
if(g+v[i]>greu){
kk++;
g=v[i];
}
else
g+=v[i];
}
return kk<=k;
}
int main()
{
fin>>n>>k;
fin>>v[1];
st=v[1];
dr=v[1];
for(int i=2;i<=n;i++){
fin>>v[i];
st=max(st,v[i]);
dr+=v[i];
}
while(st<dr){
mid=(st+dr)/2;
if(verif(mid))
dr=mid;
else
st=mid+1;
fout<<st<<' '<<dr<<'\n';
}
return 0;
}
///7 10 13 20