Pagini recente » Cod sursa (job #426957) | Cod sursa (job #670222) | Cod sursa (job #2752175) | Cod sursa (job #3280762) | Cod sursa (job #2810526)
#!/usr/bin/python3
inf = 5000 * 10000
with open('energii.in', 'r') as fin:
generatoare = int(fin.readline())
energie_necesara = int(fin.readline())
cost_total = [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())
cost_nou = min(cost_total[-energie-1:-1]) + cost
cost_total[-1] = min(cost_total[-1], cost_nou)
for tinta in range(energie_necesara-1, energie-1, -1):
cost_nou = cost_total[tinta - energie] + cost
cost_total[tinta] = min(cost_total[tinta], cost_nou)
print(cost_total)
with open('energii.out', 'w') as fout:
raspuns = cost_total[energie_necesara]
if raspuns == inf:
raspuns = -1
print(raspuns, file=fout)