trang chủ / đề bài / dhbb23_cvabd_11_b

Dãy số tổng - tích

Đề bài

Mô tả

Hôm nay là ngày Nam phải học Toán, một trong những môn mà cậu ấy kém nhất. Thầy giáo của Nam yêu cầu phải tìm ra một dãy số gồm k phần tử nguyên dương a1,a2,…,ak thỏa mãn đồng thời hai điều kiện sau với mọi cặp phần tử kề nhau ai,ai+1 (1≤i<k):

  • Tích hai số cạnh nhau không vượt quá P, tức là ai·ai+1≤P;
  • Tổng hai số cạnh nhau không vượt quá S, tức là ai+ai+1≤S.

Nam rất mệt mỏi khi phải đếm hết tất cả các dãy số thỏa mãn vì số lượng của chúng quá lớn, nên cậu ấy phải nhờ các bạn lập trình.

Yêu cầu: Hãy giúp Nam đếm số lượng dãy số độ dài k thỏa mãn các điều kiện trên. Vì kết quả có thể rất lớn, hãy in ra phần dư của kết quả khi chia cho 109+7.

Dữ liệu vào

Một dòng duy nhất chứa ba số nguyên dương P,S,k.

Dữ liệu ra

In ra một số nguyên duy nhất là phần dư của số lượng dãy số thỏa mãn khi chia cho 109+7.

Ràng buộc

  • 1≤P,S≤109.
  • 2≤k≤50 (với k=1 dãy không có cặp kề nhau nào nên có vô số dãy, vì vậy k≥2).

Subtasks

  • Subtask 1 (20% số test): P,S≤20, k≤5.
  • Subtask 2 (30% số test): P,S≤103, k≤10.
  • Subtask 3 (30% số test): P≤105, S≤109, k≤50.
  • Subtask 4 (20% số test): không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
3 5 4 21 Các cặp kề nhau được phép là (1,1), (1,2), (2,1), (1,3), (3,1); cặp (2,2) có tích 4>3.
8 3 3 5 Có 5 dãy thỏa mãn là [1,1,1], [2,1,1], [1,2,1], [1,1,2] và [2,1,2].
10 7 5 1159 Mỗi phần tử không vượt quá 6 (vì phần tử kề nó ít nhất là 1).

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0