Pagini recente » Cod sursa (job #2854346) | Cod sursa (job #2840554) | Cod sursa (job #1087740) | Cod sursa (job #1354083) | Cod sursa (job #1277346)
#include <fstream>
using namespace std;
int n,k,c,i,v[16001],s,l1,l2,m;
bool verif(int s, int k, int n){
int i,suma,j=1;
suma=0;
for(i=1;i<=k;i++){
while(suma+v[j]<=s&&j<=n){
suma+=v[j];
j++;
}
suma=0;
}
if(j>n)
return 1;
else return 0;
}
int main(){
ifstream in("transport.in");
ofstream out("transport.out");
in>>n>>k;
for(i=1;i<=n;i++){
in>>v[i];
s+=v[i];
}
l1=1;
l2=s;
while(l1<=l2){
m=(l1+l2)/2;
if(verif(m,k,n)==1) l2=m-1;
else l1=m+1;
}
out<<m+1;
in.close();
out.close();
return 0;
}