Pagini recente » Cod sursa (job #2534101) | Cod sursa (job #2971160) | Cod sursa (job #1591111) | Cod sursa (job #2484683) | Cod sursa (job #865458)
Cod sursa(job #865458)
#include <fstream>
using namespace std;
ifstream fin ("transport.in");
ofstream fout ("transport.out");
int v[16005];
int n,k,i,j,maxim,u,p,m,d,x,s;
int main () {
fin>>n>>k;
for (i=1;i<=n;i++) {
fin>>v[i];
if (v[i]>maxim)
maxim = v[i];
s=s+v[i];
}
d=1;
for (j=1;j<=k;j++) {
x=maxim;
while (x>=v[d]) {
x=x-v[d];
d++;
}
}
if ( v[d]==0)
fout<<maxim<<"\n";
else {
p=maxim;
u=s;
while (p<=u) {
m=(u+p)/2;
d=1;
for (j=1;j<=k;j++) {
x=m;
while (x>=v[d]&&v[d]!=0) {
x=x-v[d];
d++;
}
}
if (v[d]==0)
u=m-1;
else
p=m+1;
}
}
fout << p<< "\n";
return 0;
}