Pagini recente » Cod sursa (job #2067771) | Cod sursa (job #3342557) | Cod sursa (job #3333065) | Cod sursa (job #3309626) | Cod sursa (job #3340699)
#include <fstream>
using namespace std;
int N,K,st[16001];
ifstream fin("transport.in");
ofstream fout("transport.out");
int main()
{
int salt_max=0,suma=0,i;
fin>>N>>K;
for(i=1;i<=N;i++)
{
fin>>st[i];
if(st[i]>salt_max)
salt_max=st[i];
suma+=st[i];
}
for(int camion=salt_max; camion<=suma; camion++)
{
int nr_drumuri=0,nr_saltele=0;
while(nr_saltele<N)
{
//incepem sa bagam saltele in camion
int cap_ocupata=0;
while(nr_saltele<N && cap_ocupata+st[nr_saltele+1]<=camion)
{
cap_ocupata+=st[nr_saltele+1];
nr_saltele++;
}
// camionul s a umplut deci facem un transport
nr_drumuri++;
}
if(nr_drumuri<=K)
{
fout<<camion<<"\n";
break;
}
}
fin.close();
fout.close();
return 0;
}