DÃY FIBONACCI

Nguồn: None

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.

Dữ liệu vào:

+ Dòng đầu tiên chứa số nguyên \(n\) (\(1 \leq \ n \leq \ 10^{5}\)).

+ Dòng tiếp theo chứa \(n\) số nguyên \(a_{1},\ a_{2},\ \ldots,\ a_{n}\ (1 \leq \ a_{i} \leq \ 10^{9})\).

Kết quả:

+ Ghi một số duy nhất là phần dư của số cách chia sau khi chia cho \((10^{9}\ + \ 7)\).

Ví dụ:

Input Output
5
2 5 3 1 2
5

Giải thích : Có 5 cách chia là:

  • \(\lbrack 2\rbrack,\ \lbrack 5\rbrack,\ \lbrack 3\rbrack,\ \lbrack 1\rbrack,\ \lbrack 2\rbrack\)

  • \(\lbrack 2\rbrack,\ \lbrack 5\rbrack,\ \lbrack 3\rbrack,\ \lbrack 1,\ 2\rbrack\)

  • \(\lbrack 2\rbrack,\ \lbrack 5,\ 3\rbrack,\ \lbrack 1\rbrack,\ \lbrack 2\rbrack\)

  • \(\lbrack 2\rbrack,\ \lbrack 5,\ 3\rbrack,\ \lbrack 1,\ 2\rbrack\)

  • \(\lbrack 2,\ 5,\ 3,\ 1,\ 2\rbrack\)

Ràng buộc:

+ Subtask 1: Có 30% test có \(n \leq \ 10\).

+ Subtask 2: Có 30% số test khác có \(n \leq \ 10^{3}\).

+ Subtask 3: Có 40% số test còn lại không có ràng buộc gì thêm.

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. kurotiso (4/7)
  2. tuythoi213 (4/6)
  3. cong_lam (3/3)
Trong 7 ngày
  1. nguyenanhvu (40/55)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38907

Lưu Hải Phong - 2020
[email protected]