Pagini recente » Cod sursa (job #2546680) | Cod sursa (job #2591740) | Cod sursa (job #1627625) | Cod sursa (job #2802687) | Cod sursa (job #1029190)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int main()
{
int v[16100],i,n,k,maxim=0,t;
long sum=0,s;
f>>n;
f>>k;
for (i=0;i<n;i++)
{f>>v[i];
sum+=v[i];
if (v[i] > maxim) maxim = v[i];
}
if (sum%k) sum = sum/k+1;
else sum = sum/k;
if (sum > maxim) maxim = sum;
t=k+1;
while (t > k)
{
t = 0;
s = 0;
for (i=0;i<n && t<=k;i++)
if ((s+v[i]) <= maxim) s=s+v[i];
else {t++; s=v[i];}
t++;
if (t > k) maxim++;
}
g<<maxim;
return 0;
}