Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

APSTAIRS - Cầu thang nhà A Phủ

Lần trước đến thăm nhà A Phủ chúng ta đã biết cầu thang nhà A Phủ có một số bậc bị hỏng, lần này A Phủ đã sửa lại cầu thang nhà mình nhưng do tính thích hoành tráng nên A Phủ làm cầu thang rất cao, có rất nhiều bậc. Tuy nhiên, do làm quá nhiều bậc nên rất tốn kém, để tiết kiệm chi phí, A Phủ đã nghĩ ra cách làm tiết kiệm đó là trong mỗi 3 bậc thì lại để khuyết một bậc. Cụ thể là khuyết các bậc số 2, 5, 8, 11, …

Do các bậc cầu thang nhà A Phủ làm rất thấp nên đứng tại mỗi bậc có thể bước lên 1, 2, hoặc 3 bậc (nếu bậc bước lên không bị khuyết). Chẳng hạn đứng từ sân có thể bước lên bậc 1, (bậc 2 khuyết), bậc 3; đứng ở bậc 1 có thể bước lên (bậc 2 khuyết), bậc 3, bậc 4.

A Phủ rất giỏi toán học nên luôn đặt ra những câu đố để đố các vị khách đến chơi. Câu đố của A Phu là: Cho số mm số nguyên dương n1, n2, …, nm. Hãy hãy tính số cách bước từ sân lên các bậc có chỉ số là n1, n2, …, nm.

Lần này bạn là một vị khách ghé thăm nhà A Phủ, hãy trả lời giúp A Phủ nhé.

Dữ liệu vào:

  • Dòng đầu chứa số nguyên dương m.
  • Dòng hai chứa m số nguyên dương n1, n2, …, nm.

Hai số liên tiếp trên một dòng được ghi cách nhau ít nhất một dấu cách.

Dữ liệu ra:

Một dòng duy nhất chứa m số cách bước lên các bậc n1, n2, …, nm (chia cho 109 + 7 lấy phần dư). Hai số liên tiếp cách nhau một dấu cách.

Ví dụ:

Dữ liệu vào:
7
1 3 4 5 6 7 9

Dữ liệu ra:
1 2 3 0 5 8 13

Giới hạn: 1 ≤ m ≤ 1000; 0 ≤ ni ≤ 1018;


Được gửi lên bởi:noname00.pas
Ngày:2018-11-21
Thời gian chạy:0.100s-1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:C-CLANG C CSHARP C++ 4.3.2 CPP CPP14 CPP14-CLANG C99 JAVA PAS-FPC PYTHON PYTHON3
Nguồn bài:Bài tập thực hành CSL

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.