Pagini recente » Cod sursa (job #258300) | Cod sursa (job #1462344) | Rating Stan Alexandra Diana (alexa2911) | Cod sursa (job #478933) | Cod sursa (job #3256031)
#include <iostream>
#include <fstream>
using namespace std;
short int v[16000];
int main(){
ifstream fin("transport.in");
ofstream fout("transport.out");
int i, n, k, maxv=0, sum=0, s, d, camion_candidat, nr_transporturi;
fin >> n >> k;
for(i=0;i<n;i++){
fin >> v[i];
sum+=v[i];
if(v[i]>maxv)
maxv = v[i];
}
s = maxv;
d = sum;
while(s<=d){
camion_candidat = (s+d)/2;
sum = 0;
nr_transporturi = 1;
for(i=0; i<n; i++){
sum += v[i];
if(sum>camion_candidat){
sum=v[i];
nr_transporturi++;
}
}
if(nr_transporturi > k)
s = camion_candidat+1;
else
d = camion_candidat-1;
}
fout << camion_candidat << endl;
}