Pagini recente » Cod sursa (job #1945775) | Cod sursa (job #2339245) | Cod sursa (job #2846526) | Cod sursa (job #290928) | Cod sursa (job #3166090)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int n,k,x,v[16000],i,st,dr,suma,poz,minim,mid;
int main(){
ifstream fin("transport.in");
ofstream fout("transport.out");
fin>>n>>k;
for(i=0;i<n;i++){
fin>>v[i];
x+=v[i];
}
st=1; dr=x;
while(st<=dr){
mid=(st+dr)/2;
poz=0;
for(i=0;i<k;i++){
suma=0;
while(suma+v[poz]<=mid&&poz<n){
suma+=v[poz];
poz++;
}
}
if(poz>=n){
dr=mid-1;
minim=mid;
} else{
st=mid+1;
}
}
fout<<minim;
fin.close();
fout.close();
return 0;
}