Pagini recente » Cod sursa (job #2543864) | Cod sursa (job #2495266) | Cod sursa (job #683137) | Cod sursa (job #596808) | Cod sursa (job #1020170)
#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, bun;
vector<int> v;
int mere(){
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>>x, v.push_back(x), d+=x;;
while(s<d){
m=(s+d)/2;
if(mere()) bun=m, s=m+1;
else d=m-1;
}
g<<bun;
return 0;
}