Pagini recente » Cod sursa (job #2942488) | Cod sursa (job #176421) | Cod sursa (job #1769552) | Cod sursa (job #784709) | Cod sursa (job #2904939)
#include <fstream>
#define NMAX 16005
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int v[NMAX],c,n,nrt,s,Vmax,tr,s1;
int main(){
fin>>n>>nrt;
for(int i=1;i<=n;i++){
fin>>v[i];
if(v[i]>Vmax)
Vmax=v[i];
s+=v[i];
}
///incerc valorile posibile pentru capacitate
for(c=Vmax;c<=s;c++){
///numarul minim de transporturi daca folosesc capacitatea c
tr=1;
s1=v[1];///s1 reprezinta suma volumelor din transportul curent
for(int i=2;i<=n;i++)
if(s1+v[i]<=c)
s1+=v[i];
else{
tr++;
s1=v[i];
}
if(tr<=nrt){
fout<<c;
return 0;
}
}
}