TopCoder

Caido
$\mathbb{W}\mathcal{aimai}\sim$

User's AC Ratio

91.3% (84/92)

Submission's AC Ratio

47.0% (159/338)

Tags

Description

幼稚國王想要找出全國最幼稚的人,於是他想出了一個很幼稚的把戲。

幼稚國王在一間房間裡面放了很多很多張的魔術卡片,每張卡片上面都有一個數字,現在他讓每一個人可以進去選擇任意張卡片,但是出房間的時候,必須要通過一『真心測試』:你只能帶一張卡片離開。不過這是附有魔術的幼稚卡片,你可以很輕鬆的將兩張卡片疊起來,呼~的吹一下,就可以合併成一張新的卡片,但是在新卡片上面的數字會是本來兩張舊的卡片數字「Exclusive or」 起來後的值(定義在題目最後),而帶出來的卡片數字最大的人,就是最幼稚的人!當然,將卡片合併起來的順序會有很多種,你必須設法找出一種最好的順序,來合併這些卡片。

很幸運地,幼稚國王選上了你,你找得出辦法,從房間裡面帶出數字最大的卡片嗎?

Input Format

輸入檔中有多組輸入,每組輸入佔兩行,第一行有一個整數 N(1 ≦ N ≦ 30),代表房間裡面有 N 張卡片;第二行有 N 個數字 X1, X2 … XN,分別代表 N 張卡片上面的數字,數字可重複。對所有 1 ≦ i ≦ N,0 ≦ Xi ≦ 1048575。N = 0 表示檔案結束。

Output Format

對每組輸入輸出一行,包含一個整數,代表你所能帶出卡片上面的最大數字。

Sample Input 1

2
3 6
3
7 8 9
0

Sample Output 1

6
15

Hints

Exclusive or(簡寫作 xor)定義為:
0xor0=0 0xor1=1 1xor0=1 1xor1=0
對任兩個正數作 exclusive or 時先轉為二進位再對每一位運用上述規則算出結果的每一位。

Problem Source

原TIOJ1094 / NPSC2006初賽(prob C)

Subtasks

No. Testdata Range Score
1 0 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 10000 65536 262144 1