Dernière fois C'est le 6ème jour. C'est sans taxe qui a perdu contre C du concours d'hier.
#6 Problème
** Pensées ** Il est difficile de trouver la valeur minimale de la combinaison de pizza A, pizza B et pizza AB. Je l'ai résolu en spécifiant le nombre d'AB dans l'instruction for et en mettant à jour la valeur minimale.
a, b, c, x, y = map(int,input().split())
price = a * x + b * y
for i in range(max(x,y)+1):
price = min(price,c * 2 * i + max(a * (x - i),0) + max(b * (y - i),0))
print(price)
Le prix lorsque j'ai acheté 0 pizzas AB est défini comme valeur initiale, et il est retourné par pour. python pour les arrêts à une valeur d'arrêt de -1, donc si vous oubliez d'ajouter +1, vous ne pourrez pas acheter tous les AB comme dans l'exemple de cas 3.
c * 2 * i + max(a * (x - i),0) + max(b * (y - i),0))
Lorsque x <i ou y <i, max (0, résultat du calcul) est utilisé pour empêcher a * (x --i) et b * (y --i) de devenir négatifs. Je vais.
Je me demande si je peux faire autant C. Je veux pouvoir résoudre ce problème même dans le cadre du concours à plus
Recommended Posts