Pagini recente » Cod sursa (job #1388778) | Cod sursa (job #1345255) | Cod sursa (job #1257829) | Cod sursa (job #1346541) | Cod sursa (job #1020166)
#include<iostream>
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int n, x, s, d, m, k, v[100];
//vector<int> v;
int mere(){
//cout<<m<<" ";
int camion=0, cnt=1;
for(int i=0; i<n; ++i){
if(camion+v[i]>m) camion=v[i], ++cnt;
else camion+=v[i];
//cout<<camion<<'\n';
}
//cout<<cnt<<"\n\n";
return k<=cnt;
}
int main()
{
f>>n>>k;
for(int i=0; i<n; ++i) f>>v[i], d+=v[i];;
while(s<d){
m=(s+d)/2;
if(mere()) s=m+1;
else d=m-1;
}
g<<m;
//m=8; mere();
return 0;
}