Pagini recente » Cod sursa (job #1023278) | Cod sursa (job #829447) | Cod sursa (job #2464133) | Cod sursa (job #2395451) | Cod sursa (job #1113215)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{ifstream f("transport.in");
ofstream g("transport.out");
int n,k,c,aux,smic,suma=0,max=0;
f>>n>>k;
int v[16001];
for (int i=1;i<=n;i++)
{f>>v[i];suma+=v[i];
if (max<v[i])
max=v[i];}
if (max>suma/k)
c=max;
else c=suma/k;
int ok=0;
while (ok==0)
{smic=0;aux=0;
for (int i=1;i<=n;i++)
{if(smic+v[i]<=c)
smic+=v[i];
else {smic=v[i];aux++;}}
if(smic<c)
aux++;
if (aux==k)
ok=1;
else c++;
}
g<<c;
f.close();
g.close();
return 0;
}