Trong cuộc thi "Học sinh tài năng" được tổ chức tại một trường học, ban tổ chức chuẩn bị một bảng điểm điện tử để hiển thị điểm số của từng thí sinh. Điểm số của ~n~ thí sinh được hiển thị theo thứ tự từ thí sinh ~1~ đến thí sinh ~n~, sau đó lặp lại vô hạn lần. Cụ thể, sau khi hiển thị điểm của thí sinh ~n~, bảng điểm sẽ quay lại hiển thị điểm của thí sinh ~1~, rồi thí sinh ~2~, và cứ thế không ngừng.
Yêu cầu
Hãy giúp ban tổ chức tính tổng ~k~ điểm số liên tiếp xuất hiện trên bảng điểm, bắt đầu từ vị trí xuất hiện thứ ~p~. Kết quả lấy dư với ~10^9 + 7~.
Dữ liệu đầu vào
Gồm một file tonglt.inp
chứa hai dòng:
- Dòng thứ nhất chứa ba số nguyên dương ~n, k, p~ lần lượt là số thí sinh trong cuộc thi, số lượng điểm số cần tính và vị trí bắt đầu tính điểm trên bảng điện tử.
- Dòng thứ hai ghi ~n~ số nguyên dương ~a_1, a_2, ..., a_n~ (~1 \leq a_i \leq 10^9~) lần lượt là điểm số của ~n~ thí sinh.
Dữ liệu đầu ra
Gồm một file tonglt.out
chứa một số nguyên duy nhất là kết quả bài toán chia lấy dư với ~10^9 + 7~.
Ràng buộc
- Có 40% số test với ~n \leq 10^3~, ~p = 1~, ~k \leq n~.
- Có 30% số test với ~n \leq 10^3~, ~p, k \leq 10^6~.
- Có 30% số test với ~n \leq 10^6~, ~p, k \leq 10^{18}~.
Ví dụ
Ví dụ 1
tonglt.inp
6 7 3
4 3 6 2 9 5
tonglt.out
35
Giải thích
~7~ số nguyên liên tiếp xuất hiện trên màn hình bắt đầu từ số xuất hiện thứ ~3~ là: ~6, 2, 9, 5, 4, 3, 6~. Kết quả: ~(6 + 2 + 9 + 5 + 4 + 3 + 6)~ mod ~1000000007 = 35~
Bình luận