Evo rješenja u Pythonu:
def tezina(tura):
FAKTOR_KG = {'t': 1000, 'kg': 1}
podaci = (kutija.split() for kutija in tura)
return sum(int(iznos) * FAKTOR_KG[jedinica] for iznos, jedinica in podaci)
def napravi_turu(posiljka, max_tezina):
tura = []
for kutija in posiljka:
if tezina(tura + [kutija]) > max_tezina:
break
tura.append(kutija)
return tura
def rjesenje(kutije):
tura_kamion = napravi_turu(kutije, 5000) # utovar u kamion
tura_kombi = napravi_turu(reversed(tura_kamion), 2000) # pretovar u kombi
return len(tura_kombi)
print(rjesenje(['2 t', '2 t', '100 kg', '1 t', '1 t', '900 kg', '50 kg']))
print(rjesenje(['2 t', '100 kg', '1 t', '1 t', '900 kg', '50 kg']))
print(rjesenje(['100 kg', '1 t', '1 t', '900 kg', '50 kg']))
Rezultati:
1
2
3



