Nhảy lò cò

Xem PDF

Nộp bài


Điểm: 10 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 1G

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Pascal

Nhân dịp Giỗ tổ Hùng Vương để người dân tưởng nhớ công lao các vị vua Hùng, đồng thời nhắc nhở thế hệ trẻ những bài học về lòng yêu nước và tinh thần tự lập. Ngoài phần lễ thì ban tổ chức còn thêm phần hội để ngày lễ được khắc sâu hơn. Có rất nhiều chương trình vui chơi được tổ chức, một trong những trò chơi thu hút được nhiều người tham gia đó là trò chơi nhảy lò cò, cụ thể: Người chơi cần vượt qua một đoạn đường dài \(N\) mét, có \(K\) cách nhảy với độ dài bước nhảy tương ứng là \(b_1\) mét, \(b_2\) mét,\(\ldots ,\ b_k\) mét. Một cách di chuyển đúng là dãy các bước nhảy có tổng đúng bằng \(N\).

Yêu cầu: Cho số tự nhiên \(N,\ K\) và dãy \(b_1,\ b_2,\ldots ,\ b_k\), gọi \(Q\) là số cách di chuyển đúng khác nhau để người chơi đến được đoạn đường dài \(N\) mét. Tính \(Q\).

Input: File văn bản LOCO.INP gồm:

  • Dòng đầu ghi \(N\) và \(K\) (hai số cách nhau một dấu cách);
  • Dòng thứ hai ghi \(K\) số \(b_1,\ b_2,\ldots,\ b_k (\)các số cách nhau một dấu cách và \(1\leq b_i < N\) với \(i = 1,\ 2,\ldots ,\ k)\).

Output: Ghi ra file văn bản LOCO.OUT một số nguyên \(Q\) cần tìm.

Ví dụ:

SAMPLE INPUT 1

3 2
1 2

SAMPLE OUTPUT 1

3

SAMPLE INPUT 2

4 2
1 2

SAMPLE OUTPUT 2

5

Ghi chú: Dãy \(b_1,\ b_2,\ldots ,\ b_k\) khác nhau từng đôi một.

Ràng buộc:

  • Có \(60\%\) số test ứng với \(60\%\) số điểm có \(n\leq 20\) và \(K = 2\ (b_1 = 1\) và \(b_2 = 2)\);
  • Có \(20\%\) số test ứng với \(20\%\) số điểm có \(20 < n\leq 30\) và \(K = 3\ (b_1 = 1;\ b_2 = 2\) và \(b_3 = 3)\);
  • Có \(20\%\) số test còn lại ứng với \(20\%\) số điểm có \(30 < n\leq 10^3\) và \(3 < K\leq 5\).