PROBLEM 15: Cheap Travel
Problem Reference : Codeforces
Ann has recently started commuting by subway. We know that a one ride subway ticket costs a rubles. Besides, Ann found out that she can buy a special ticket for m rides (she can buy it several times). It costs b rubles. Ann did the math; she will need to use subway n times. Help Ann, tell her what is the minimum sum of money she will have to spend to make n rides?
The single line contains four space-separated integers n, m, a, b (1 ≤ n, m, a, b ≤ 1000) — the number of rides Ann has planned, the number of rides covered by the m ride ticket, the price of a one ride ticket and the price of an m ride ticket.
Print a single integer — the minimum sum in rubles that Ann will need to spend.
Solution:
- import math
- n, m, a, b = input().split()
- n1 = int(n)
- m1 = int(m)
- a1 = int(a)
- b1 = int(b)
- n2 = n1
- sum1 = 0
- n3 = n1
- m3 = m1
- b3 = b1
- a3 = a1
- d = n1 / m1
- d1 = math.ceil(d)
- d2 = d1 * b1
- d3 = n2 * a1
- while n3 >= m1:
- n3 = n3 - m1
- sum1 = sum1 + b3
- while n3 > 0:
- sum1 = sum1 + a3
- n3 = n3 - 1
- print(min(d2,d3,sum1))
6 2 1 2
6
5 2 2 3
8
No comments:
Post a Comment