PreVOI 2025 - Sumprod

Xem dạng PDF

Gửi bài giải

Điểm: 130,00 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

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

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho mảng ~A~ gồm ~n~ phần tử. Có ~q~ thao tác, mỗi thao tác thuộc 2 loại:

  • ~1 \ l \ r \ x~: Tăng giá trị các phần tử ~A_l, A_{l+1}, \dots, A_r~ lên ~x~.
  • ~2 \ l \ r~: Tính và in ra tổng các tích ~A_i \times A_j~ thỏa mãn ~l \le i \le j \le r~ và ~j - i \ge k~. Nói cách khác, tính: ~\sum_{i=l}^{r} \sum_{j=i+k}^{r} A_i \times A_j~.

Do đáp án của truy vấn loại 2 có thể lớn, hãy in ra đáp án sau khi chia lấy dư cho ~998244353~.

Yêu cầu: Thực hiện các thao tác và in ra kết quả cho các truy vấn loại 2.

Input

  • Dòng đầu tiên ghi 3 số ~n, q, k~ (~1 \le n, q \le 10^5, 1 \le k \le 5~).
  • Dòng tiếp theo ghi ~n~ số lần lượt là giá trị của ~A_1, A_2, \dots, A_n~ (~0 \le A_i < 998244353~).
  • ~q~ dòng tiếp theo, mỗi dòng ghi một truy vấn có cấu trúc như trên.
  • Dữ liệu đảm bảo ~1 \le l \le r \le n~ và ~0 < x < 998244353~.

Output

  • Với mỗi truy vấn loại 2, in ra trên một dòng đáp án của truy vấ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.