CSES 3405 - Sliding Window Or
1.0s 512M給你一個含 \(n\) 個整數的陣列。你的任務是由左到右計算每一個長度為 \(k\) 的視窗內所有元素的位元 OR。
本題的輸入資料很大,因此改用生成器產生。
輸入格式
第一行包含兩個整數 \(n\) 和 \(k\):元素個數與視窗大小。
第二行包含四個整數 \(x\)、\(a\)、\(b\)、\(c\):輸入生成器的參數。輸入資料的產生方式如下:
-
\(x_1=x\)
-
對 \(i=2,3,\dots,n\),\(x_i=(ax_{i-1}+b) \bmod c\)
輸出格式
輸出所有視窗 OR 值的 XOR。
範例輸入 1
8 5
3 7 1 11
範例輸出 1
4
說明:輸入陣列是 \([3,0,1,8,2,4,7,6]\)。各視窗為 \([3,0,1,8,2]\)、\([0,1,8,2,4]\)、\([1,8,2,4,7]\)、\([8,2,4,7,6]\),它們的 OR 分別是 \(11\)、\(15\)、\(15\)、\(15\)。因此答案是 \(11 \oplus 15 \oplus 15 \oplus 15 = 4\)。
限制
- \(1 \le k \le n \le 10^7\)
- \(0 \le x, a, b \le 10^9\)
- \(1 \le c \le 10^9\)
題目來源
題目來自 CSES Problem Set(Antti Laaksonen),授權 CC BY-NC-SA 4.0;本頁為翻譯,以相同授權分享。
登入後即可撰寫程式並提交評測。
登入