Tổng dãy số (Chọn ĐTQG Phú Thọ 2017-2018 (ngày 2))

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: CAU6.INP
Output: CAU6.OUT

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

Với dãy ~n~ số nguyên dương ~a_1, a_2, \dots, a_n~. Bình thực hiện phép biến đổi dãy số ~a_1, a_2, \dots, a_n~ như sau:

  • Bước 1: lập dãy số ~b_1, b_2, \dots, b_n~ với $$ b_i = \begin{cases} a_i + a_{i+1} & \text{nếu } i < n \\ a_n + a_1 & \text{nếu } i = n \end{cases} $$
  • Bước 2: xây dựng lại dãy ~a_1, a_2, \dots, a_n~ với ~a_i = b_i~ (~i = \overline{1, n}~).

An rất hứng thú với cách biến đổi đó của bạn Bình, liền hỏi Bình: sau khi thực hiện vô hạn phép biến đổi trên, thì số hạng thứ ~t~ của dãy số ~a_1, a_2, \dots, a_n~ trước khi thực hiện phép biến đổi thứ ~k~ là bao nhiêu? Do kết quả có thể rất lớn nên An muốn Bình lấy phần dư khi chia kết quả cho ~10^9 + 9~.

Yêu cầu: Cho ~k, t~ tìm số hạng thứ ~t~ của dãy số ~a_1, a_2, \dots, a_n~ trước khi thực hiện phép biến đổi thứ ~k~ là bao nhiêu (lấy phần dư khi chia kết quả cho ~10^9 + 9~).

Dữ liệu

Từ file văn bản CAU6.INP:

  • Dòng đầu ghi hai số nguyên dương ~n, Q~;
  • Dòng thứ hai ghi ~n~ số nguyên dương ~a_1, a_2, \dots, a_n~ (~a_i \le 10^5~);
  • ~Q~ dòng tiếp theo, dòng thứ ~i~ (~i = \overline{1, Q}~) chứa hai số nguyên dương ~k, t~.

Kết quả

Đưa ra file văn bản CAU6.OUT gồm ~Q~ dòng, dòng thứ ~i~ chứa ~1~ số nguyên là số hạng thứ ~t~ của dãy số ~a_1, a_2, \dots, a_n~ trước khi thực hiện phép biến đổi thứ ~k~ (lấy phần dư khi chia kết quả cho ~10^9 + 9~).

Ví dụ

CAU6.INP

5 5
8 1 2 4 3
1 2
1 3
3 4
6 3
5 5

CAU6.OUT

1
2
18
139
53

Giới hạn

  • Có 10% số test ứng với 10% số điểm của bài có ~1 \le n, Q, k \le 1000~; ~1 \le t \le n~;
  • Có 90% số test còn lại ứng với 90% số điểm của bài có ~1 \le n, k \le 10^5~; ~1 \le Q \le 100~; ~1 \le t \le n~.

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.