Pagini recente » Cod sursa (job #1177941) | Cod sursa (job #1799415) | Cod sursa (job #641390) | Cod sursa (job #127002) | Cod sursa (job #1574546)
# include <fstream>
# define DIM 16010
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int v[DIM];
long long s,n,k,i,st,dr,mij,c,nr,h;
int main () {
fin>>n>>k;
for(i=1;i<=n;i++){
fin>>v[i];
s+=v[i];
}
st=1;
dr=s/k+k;
while(st<=dr){
mij=(st+dr)/2;
nr=1;
c=0;
h=0;
for(i=1;i<=n&&nr<=k;i++){
h++;
if(v[i]>mij){
break;
h--;
}
c+=v[i];
if(c>mij){
c=v[i];
nr++;
if(nr>k)
h--;
}
}
if(h>=n)
dr=mij-1;
else
st=mij+1;
}
fout<<st<<"\n";
return 0;
}