Đếm đĩa (Tin học trẻ A - Vòng Sơ khảo 2021)

Xem PDF



Thời gian:
Python 3 2.0s

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C#, C++, Clang, Clang++, Cobol, D, Groovy, Haskell, Java, JS, Kotlin, Lua, Node JS, ObjectiveC, OCaml, Output, PHP, Prolog, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Ta có hệ thống được được xếp trên một cọc như hình. 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 trên \(b\) lít nước. Khi rót nước từ đĩa trên xuống, nếu đĩa thứ \(i\) đầy, nước sẽ chảy xuống đĩa thứ \(i+1\).

Hỏi: Khi rót \(N\) lít nước từ đĩa \(1\) xuống thì bao nhiêu đĩa có nước. Giả sử nước rót không bị rơi ra ngoài và lượng đĩa đủ để đựng hết lượng nước.

Input

  • Dòng thứ nhất chứa một số tự nhiên \(N\) là số lượng lít nước sẽ rót xuống.
  • Dòng thứ hai chứa một số tự nhiên \(a\) là dung lượng của đĩa \(1\).
  • Dòng thứ ba chứa một số tự nhiên \(b\) là dung lượng nước đĩa sau đựng nhiều hơn đĩa trước (\(N \le 10^{16}, a \le 1000, b \le 10\)).

Output

  • Một số duy nhất là số lượng đĩa có nước.

Example

Test 1
Input
8
1
1
Output
4
Note

Khi \(A = 1, B = 1\) thì dung tích các đĩa lần lượt là \(1,2,3,4,5,...\). Vậy với \(N = 8\) thì kết quả là \(4\). Vì khi đó sẽ có \(4\) đĩa có nước (đĩa \(1\)\(1\) lít, đĩa \(2\)\(2\) lít, đĩa \(3\)\(3\) lít và đĩa \(4\)\(2\) lít nước).

Test 2
Input
10
2
3
Output
3
Note

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\). Vì khi đó sẽ có \(3\) đĩa có nước (đĩa \(1\)\(2\) lít, đĩa \(2\)\(5\) lít, đĩa \(3\)\(3\) lít nước).


Bình luận

Không có bình luận nào.