[DHBB24 - CBG - 10] Bài 2: Mở cửa kho báu
Xem dạng PDFTrong 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
Trong trò chơi GarenaPro, game thủ muốn vào được kho báu thì phải tìm ra được chìa khóa từ các mật mã tìm thấy trên đường đi đến kho báu. Biết rằng các mật mã tìm thấy từ một dãy số ~a~ gồm ~n~ phần tử nguyên ~a_1, a_2, \dots, a_n~ và một số nguyên ~S~ xuất hiện tại cửa của kho báu.
Mỗi lần game thủ chọn 1 dãy con gồm các phần tử bất kì trong dãy số ~a~ mà tổng các phần tử được chọn đúng bằng ~S~ thì cánh cửa kho báu được rung lên. Tuy nhiên, cánh cửa kho báu chỉ được mở ra khi game thủ tìm thấy tất cả các dãy con của dãy số ~a~ có tổng bằng ~S~. Hai dãy con gọi là khác nhau nếu chúng khác nhau ít nhất 1 phần tử.
Yêu cầu: Đếm số lượng dãy con của dãy số ~a~ thỏa mãn tổng các phần tử của mỗi dãy con bằng ~S~.
Input
- Dòng 1 ghi 2 số nguyên dương ~n, S~ (~1 \le n \le 10^6~; ~1 \le S \le 10^9~);
- Dòng 2 ghi ~n~ phần tử của dãy số ~a~ (~0 \le a_i \le 10^9~).
Output
- Ghi ra một số duy nhất là kết quả của bài toán chia lấy dư cho ~998244353~.
Sample Input 1
5 3
1 3 2 1 1
Sample Output 1
5
Bình luận