Pagini recente » Cod sursa (job #140713) | Cod sursa (job #1370721) | Cod sursa (job #368308) | Cod sursa (job #555778) | Cod sursa (job #854622)
Cod sursa(job #854622)
#include<fstream>
using namespace std;
int s,m,c,nrt,n,i,ls,ld,k,s1,x[16001];
ifstream f("transport.in");
ofstream g("transport.out");
int main(){
int max,min;
f>>n>>k;
max=0;
s=0;
min=16000;
for(i=1;i<=n;i++){
f>>x[i];
if(x[i]>max)
max=x[i];
s1=s1+x[i];
}
ls=0;
ld=s1+1;
while(ls<=ld){
m=(ls+ld)/2;
s=0;
c=0;
nrt=1;
for(i=1;i<=n;i++)
if((s+x[i])>m){
nrt++;
s=x[i];
}
else
s=s+x[i];
if(nrt<=k){
ld=m-1;
c=m;
}
else
ls=m+1;
}
if(c<max)
c=max;
if(c>s1)
c=s1;
g<<c;
return 0;
}