Pagini recente » Cod sursa (job #3273649) | Cod sursa (job #917580) | Cod sursa (job #2589429) | Cod sursa (job #1918824) | Cod sursa (job #3256121)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
const int NMAX=16*1e3+2;
int v[NMAX];
int n,k;
int main()
{
fin>>n;
fin>>k;
int minim,capmax=0,capmin=INT_MAX;
for(int i=1;i<=n;i++){
fin>>v[i];
capmax+=v[i];
capmin=max(capmin,v[i]);
}
int st=capmin,dr=capmax,mij;
while(true){
int nr=1,s=0;true;
mij=(st+dr)/2;
for(int i=1;i<=n;i++){
s+=v[i];
if(s>mij){
nr++;
s=0;
}
}
if(nr>k){
fout<<minim;
break;
}
minim=min(minim,mij);
}
return 0;
}