Pagini recente » Cod sursa (job #2934566) | Cod sursa (job #1718703) | Cod sursa (job #855079) | Cod sursa (job #2097166) | Cod sursa (job #515570)
Cod sursa(job #515570)
#include <iostream>
#include <fstream>
#define DN 16001
using namespace std;
int n,v[DN],k;
int main()
{
ifstream f("transport.in");
ofstream g("transport.out");
f>>n>>k;
int lim=0,ls=0;
for (int i=1; i<=n; ++i) {
f>>v[i];
if(v[i]>ls) ls=v[i];
lim+=v[i];
}
int ld=lim,m,nrt,sum,sol=DN;
for(m=(ls+ld)>>1;ls<=ld;m=(ls+ld)>>1) {
nrt=0;
for(int i=1; i<=n;) {
for(sum=0;sum+v[i]<=m && i<=n; sum+=v[i], ++i);
++nrt;
}
if(nrt>k) ls=m+1;
else {
sol=m;
ld=m-1;
}
}
g<<sol;
return 0;
}