SQRT Cup 2025 - Vòng loại thứ hai - Số nguyên dương

Xem dạng PDF

Gửi bài giải

Điểm: 0,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: INTEGER.inp
Output: INTEGER.out

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Trong văn hóa Á Đông xưa, các con số ~1, 5, 9~ thường được xem là tốt lành, vì chúng ứng với sinh, tức sinh sôi, nảy nở, trong chu trình sinh - lão - bệnh - tử.

Huy đang nghiên cứu các văn bản cổ, và anh thấy người xưa gọi một số là cát tường nếu biểu diễn thập phân của nó chỉ bao gồm các chữ số ~1, 5~ hoặc ~9~, và không có hai chữ số liên tiếp nào giống nhau. Như vậy, các số cát tường đầu tiên là ~1, 5, 9, 15, 19, 51, 59, 91, 95, 151, ...~.

Huy tiếp tục nghiên cứu, và anh thấy người xưa đã cố gắng tách các số tự nhiên thành tổng của hai số cát tường theo những cách khác nhau. Ví dụ, số ~2~ có thể được tách thành ~1 + 1~, ~10~ có thể được tách thành ~5 + 5~ hoặc ~1 + 9~. Họ ký hiệu ~f_x~ là số cách tách tổng của hai số cát tường. Như vậy, ~f_2 = 1~ và ~f_{10} = 2~. Huy tìm thấy một bài toán, trong đó yêu cầu tính tổng ~S = f_l + f_{l + 1} + ... + f_r~, nhưng vẫn chưa có lời giải hay công thức cụ thể. Bạn hãy giúp Huy tính toán giá trị ~S~ với các cặp ~l, r~ khác nhau để có thể giúp Huy tìm ra công thức tổng quát cho bài toán nhé.

Dữ liệu - Nhập từ tệp văn bản INTEGER.inp:

  • Một dòng duy nhất gồm hai số nguyên dương ~l, r~ ~(1 \le l \le r \le 10^{18})~.

Kết quả - Ghi ra tệp văn bản INTEGER.out:

  • Một dòng duy nhất gồm giá trị ~S~ tìm được.

Chấm điểm

Điểm Ràng buộc bổ sung
~44~ ~r \le 2000~
~34~ ~r \le 2 \times 10^5~
~22~ Không có ràng buộc gì thêm

Ví dụ

Dữ liệu (INTEGER.inp)
2 10
Kết quả (INTEGER.out)
4
Giải thích

Ta có ~f_2 = 1, f_6 = 1~ và ~f_{10} = 2~. Có thể thấy các giá trị còn lại không có cách nào để tách thành hai số cát tường.


Bình luận

Hãy đọc nội quy trước khi bình luận.


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