Test File Generator
wcwu 有一個隨機陣列產生器,這個產生器可以被用來生成某些題目的測資。
這個產生器的運作方式如下:
給定一個由 \(n(1\leq n \leq 2\cdot{10}^5)\) 個數字組成的數字庫 \(a_1, a_2, \dots, a_n(1\leq i \leq n, 0\leq a_i < 2^{30})\),
這個產生器會生成出一個 \(n\) 項的陣列 \(b_1, b_2, \dots, b_n\),
具體來說,每一個 \(b_i(1\leq i\leq n)\) 的值是這樣決定的:
產生器會從集合 \(\{1, 2, \dots, n\}\) 之中,隨機挑一個數字作為 \(j\),並把 \(b_i\) 設為 \(a_j\)。
現在他想要知道,若 \(X=b_1\)|\(b_2\)|\(\dots \)|\(b_n\),則 \(X\) 所有可能的最大值跟最小值分別是多少?
註:"|"符號代表位元OR運算
Input
第一行輸入一個整數 \(t(1\leq t \leq 2\cdot{10}^5)\),代表接下來會有 \(t\) 筆子測資。
每筆子測資的第一行包含一個整數 \(n(1\leq n \leq 2\cdot{10}^5)\),
每筆子測資的第二行包含 \(n\) 個數字,依序是 \(a_1, a_2, \dots, a_n(0\leq a_i < 2^{30}, 1\leq i \leq n)\),同一行皆以空白間隔。
保證所有 \(n\) 值的總和不超過 \(2\cdot{10}^5\)。
Output
輸出 \(t\) 行,第 \(i\) 行請輸出第 \(i\) 筆子測資的答案 \((1\leq i\leq t)\)。
每行輸出兩個整數,依序代表所有可能的 \(X\) 的最大值與最小值,以空白間隔。
Constraints
第 \(1\) 組測資,保證所有 \(n\) 值的總和不超過 \(20\)。\((40\%)\)
第 \(2\) 組測資,無特別限制,須通過子任務 \(1\)。\((60\%)\)
Sample Input 1
3
1
100
8
0 1 2 3 4 5 6 7
3
1 2 3
Sample Output 1
100 100
7 0
3 1
评论