Pagini recente » Cod sursa (job #1570661) | Cod sursa (job #1657015) | Cod sursa (job #1704678) | Cod sursa (job #562837) | Cod sursa (job #1277380)
#include <fstream>
using namespace std;
int n,k,c,i,v[16001],s,l1,l2,m;
bool verif(int s){
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)==1) l2=m-1;
else l1=m+1;
}
out<<l2+1;
//out<<m+1;
/*
l1=1;
l2=s;
while(l1<l2){
m=(l1+l2)/2;
if (verif(m)==1) l2=m;
else l1=m+1;
}
out<<l2;
*/
in.close();
out.close();
return 0;
}