Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
0.005s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift
Ta có một hệ thống đĩa được xếp trên một cọc như hình vẽ dưới đây:
Các đĩa được đánh số từ trên xuống dưới, bắt đầu từ ~1~. Trong đó, đĩa ~1~ đựng được ~a~ lít nước, đĩa sau đựng được nhiều hơn đĩa bên trên ~b~ lít nước. Khi rót nước từ trên xuống, nếu đĩa thứ ~i~ đầy, nước sẽ chảy xuống đĩa thứ ~i + 1~.
Yêu cầu: Hãy đếm số lượng đĩa có nước khi rót ~N~ lít nước từ đĩa thứ ~1~ xuống. Giả sử nước rót không bị rơi ra ngoài và lượng đĩa đủ để đựng hết nước.
Input
Chứa ba số tự nhiên ~n, a, b~, trong đó:
- ~n~ là số lượng lít nước sẽ rót xuống,
- ~a~ là dung tích nước của đĩa ~1~,
- ~b~ là dung tích nước đĩa sau đựng được nhiều hơn đĩa trước.
Giới hạn:
- ~1 \le n \le 10^{18}~
- ~1 \le a \le 1000~
- ~1 \le b \le 10~
Output
- Số nguyên duy nhất là số lượng đĩa có nước.
Sample
Input #1
8 1 1
Output #1
4
Input #2
10 2 3
Output #2
3
Hint
Giải thích #1:
- Khi ~a = 2, b = 3~ thì dung tích các đĩa lần lượt là ~2, 5, 8, 11, 14,...~
- Vậy với ~N = 10~ thì kết quả là ~3~.
- Các đĩa có nước lần lượt là: Đĩa ~1~ có ~2~ lít, đĩa ~2~ có ~5~ lít và đĩa ~3~ có ~3~ lít nước.
Bình luận