Pagini recente » Cod sursa (job #2141115) | Cod sursa (job #225150) | Cod sursa (job #957345) | Cod sursa (job #2545247) | Cod sursa (job #1417486)
#include<fstream>
using namespace std;
int n, k, i, p, u, mid, maxim;
int v[16002];
ifstream fin("transport.in");
ofstream fout("transport.out");
int trans(int x){
int nr = 1;
int s = 0;
for(int i = 1; i <= n; i++){
if(s + v[i] <= x){
s += v[i];
}
else{
nr++;
s = v[i];
}
}
return nr;
}
int main(){
fin>> n >> k;
for(i = 1; i <= n; i++){
fin>> v[i];
u += v[i];
maxim = max(maxim, v[i]);
}
p = maxim;
while(p <= u){
mid = (p + u) / 2;
if(trans(mid) <= k){
u = mid - 1;
}
else{
p = mid + 1;
}
}
fout<< p <<"\n";
return 0;
}