Pagini recente » Cod sursa (job #237859) | Cod sursa (job #1518340) | Cod sursa (job #2157804) | Cod sursa (job #1652926) | Cod sursa (job #2810485)
#!/usr/bin/python3
import math
with open('energii.in', 'r') as fin:
generatoare = int(fin.readline())
energie_necesara = int(fin.readline())
cost_total = [math.inf for i in range(energie_necesara+1)]
cost_total[0] = 0
for i in range(generatoare):
energie, cost = (int(x) for x in fin.readline().split())
for tinta in range(energie_necesara, energie-1, -1):
cost_nou = cost_total[tinta - energie] + cost
cost_total[tinta] = min(cost_total[tinta], cost_nou)
with open('energii.out', 'w') as fout:
raspuns = cost_total[energie_necesara]
if raspuns == math.inf:
raspuns = -1
print(raspuns, file=fout)