Tổng của các phần tử
Xem dạng PDF
Gửi bài giải
Điểm:
10,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Cho một mảng gồm ~n~ số nguyên. Hãy tính tổng của mỗi cửa sổ liên tiếp gồm đúng ~k~ phần tử, theo thứ tự từ trái sang phải.
Trong bài toán này, dữ liệu đầu vào rất lớn và được sinh bằng bộ sinh dữ liệu.
Input
Dòng đầu tiên chứa hai số nguyên ~n,k~ — số lượng phần tử của mảng và kích thước của cửa sổ.
~(1 \le k \le n \le 10^7)~.
Dòng thứ hai chứa bốn số nguyên ~x,a,b,c~ — các tham số của bộ sinh dữ liệu.
~(0 \le x,a,b \le 10^9,\ 1 \le c \le 10^9)~.
Mảng được sinh theo quy tắc:
- ~x_1=x~
- ~x_i=(a \cdot x_{i-1}+b)\bmod c~, với ~2 \le i \le n~.
Output
In ra giá trị XOR của tổng tất cả các cửa sổ có độ dài ~k~.
Ví dụ
Sample Input
8 5
3 7 1 11
Sample Output
12
Giải thích
Mảng được sinh là:
~[3,0,1,8,2,4,7,6]~.
Các cửa sổ có độ dài ~5~ là:
- ~[3,0,1,8,2]~
- ~[0,1,8,2,4]~
- ~[1,8,2,4,7]~
- ~[8,2,4,7,6]~
Tổng tương ứng là:
~14,15,22,27~.
Do đó kết quả là:
~14 \oplus 15 \oplus 22 \oplus 27 = 12~.
Bình luận