Points:
100 (p)
Time limit:
0.5s
Memory limit:
256M
Input:
stdin
Output:
stdout
Bạn muốn mua \(N\) lít xăng, không thừa không thiếu. Tại một tiệm xăng nọ có hai phương thức mua xăng:
- 1L: Mua 1 lít với giá \(a\) đồng
- 2L: Mua 2 lít với giá \(b\) đồng
Cho ba số \(N\), \(a\), \(b\). Hãy tính chi phí ít nhất cần để mua đúng chính xác \(N\) lít xăng.
Input
- Dòng đầu tiên chứa một số nguyên dương \(N\) \((1 \leq N \leq 10^9)\)
- Dòng thứ hai chứa hai số nguyên dương lần lượt là \(a\) và \(b\) \((1 \leq a, b \leq 10^9)\)
Output
In ra một số nguyên, là số tiền tối thiểu cần để mua đúng chính xác \(N\) lít xăng tại tiệm xăng đó.
Example
Test 1
Input
5
1 1
Output
3
Note
- Để mua \(5\) lít xăng, bạn có thể chọn phương án mua: 2L, 2L, 1L có tổng tiền sẽ là \(3\), là kết quả tối ưu.
Test 2
Input
7
1 7
Output
7
Note
- Tại trường hợp này, bạn có thể mua 7 lần 1L có tổng là \(7\) tiền. Nếu dù chỉ mua một lần 2L kia đủ để khiến đáp án là \(7\), nên ta không xét đến nó.
Comments
n,m = map(int, input().split())
a = input().split()
b = input().split()
c= a + b
c.sort()
print(" ".join(c))
test case thứ 3 sao lại ra 22994887 nhỉ, mọi người giải thích giúp mình với
test 11 mk chạy sai là sao nhỉ
Ý tưởng
Mua 1 lít với giá a đồng .
Mua 2 lít với giá b đồng .
-> Mua 2 lít với giá 2a đồng và mua 2 lít với giá b đồng.
Vì cùng số lít nên có thể xét chọn cái nào khả quan hơn, và khi số lít cần mua lẻ, lần cuối chỉ chọn 1 lít.
hm
This comment is hidden due to too much negative feedback. Click here to view it.
This comment is hidden due to too much negative feedback. Click here to view it.