Pagini recente » Cod sursa (job #1772100) | Cod sursa (job #1637090) | Cod sursa (job #2100649) | Cod sursa (job #855061) | Cod sursa (job #2669310)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int n, v[16001],cv[16001],i,maxim=0,k,sum=0, drum=0, found=0,cat;
int main()
{
fin>>n>>k;
for(i=1;i<=n;i++){
fin>>v[i];
cv[i]=v[i];
if(maxim<v[i]) maxim=v[i];
sum+=v[i];
}
if(sum%k==0)
cat = sum/k;
else
cat = sum/k+1;
// fout<<sum<<" "<<cat<<endl;
if(maxim < cat) maxim = cat;
// fout<<maxim<<endl;
while(found==0){
sum=v[1]; i=2; drum=0;
// fout<<v[1]<<" ";
while (drum<k){
while (i<=n && sum+v[i]<=maxim) {
sum+=v[i];
// fout<<v[i]<<" ";
i++;
}
// fout<<endl;
drum++;
sum=0;
}
// fout<<"i="<<i<<endl;
if(i-1<n) maxim++;
else found =1;
}
fout<<maxim;
return 0;
}