Pagini recente » Cod sursa (job #344787) | Cod sursa (job #2554834) | Cod sursa (job #934810) | Cod sursa (job #3158387) | Cod sursa (job #428268)
Cod sursa(job #428268)
#include<fstream.h>
ifstream f("transport.in");
ofstream g("transport.out");
int v[16001], n, k, p ,i;
int suma, u, m;
int pot(int c){
int nr=1, cc=0;
for(int i=1;i<=n;i++){
if(cc+v[i]<=c)
cc+=v[i];
else{
nr++;
cc=v[i];
}
if(nr>k) return 0;
}
return 1;
}
int main(){
f>>n>>k;
for(i=1;i<=n;i++){
f>>v[i];
suma+=v[i];
}
p=1; u=suma;
while(p<=u){
m=(p+u)/2;
if(pot(m))
u=m-1;
else
p=m+1;
}
g<<p;
f.close();
g.close();
return 0;
}