Chọn ĐTQG Tây Ninh 2026 - Fibonacci

Xem dạng PDF

Gửi bài giải

Điểm: 35,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho dãy ~A~ gồm ~N~ phần tử được đánh chỉ số từ ~1~ đến ~N~. Hãy đếm số cách chia dãy ~A~ thành các dãy con gồm các phần tử liên tiếp sao cho tổng của mỗi dãy con là một số Fibonacci.

Biết rằng dãy số Fibonacci ~\{F_n\}~ là một dãy số nguyên được xác định bởi quan hệ truy hồi ~F_n = F_{n-1} + F_{n-2}~ với điều kiện ban đầu ~F_0 = 0~, ~F_1 = 1~. Một số phần tử đầu tiên của dãy Fibonacci là ~0, 1, 1, 2, 3, 5, 8, \dots~

Input

  • Dòng đầu tiên chứa số nguyên ~N~ ~(1 \le N \le 10^5)~;

  • Dòng tiếp theo chứa ~N~ số nguyên ~A_1, A_2, \dots, A_N~ ~(0 \le A_i \le 10^9; 1 \le i \le N)~ biểu thị dãy số ~A~, các số cách nhau bởi dấu cách.

Output

Ghi ra một dòng duy nhất chứa một số nguyên là phần dư của số cách chia sau khi chia cho ~10^9 + 7~.

Scoring

Subtask Điểm Ràng buộc
1 ~30\%~ ~N \le 10~
2 ~30\%~ ~N \le 10^3~
3 ~40\%~ Không có giới hạn gì thêm

Sample Input 1

5
2 5 3 1 2

Sample Output 1

5

Notes

Có ~5~ cách chia là:

  • ~[2], [5], [3], [1], [2]~;

  • ~[2], [5], [3], [1, 2]~;

  • ~[2], [5, 3], [1], [2]~;

  • ~[2], [5, 3], [1, 2]~;

  • ~[2, 5, 3, 1, 2]~.


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.