FOS Champion League

Xem PDF

Điểm: 1500 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Hàng năm làng LQDOJ tổ chức cho người dân thi đấu giải bóng đá có tên là FOS Champion League. Năm nay có \(N\) đội đăng kí tham dự giải, mỗi đội được gán một \(ID\) riêng biệt. FOS Champion League là giải đấu loại trực tiếp và Flower_On_Stone - phó trưởng làng được quyền quyết định đội thắng cuộc, đội thua cuộc sẽ bị loại khỏi giải đấu. Giải sẽ kết thúc khi chỉ còn một đội vô địch.

Flower_On_Stone nhận thấy một sự trùng lặp ngẫu nhiên trên bảng điểm điện tử trong các trận đấu.Trong bất kỳ trận đấu nào,điểm kết hợp của cả hai đội đấu đúng bằng phép toán XOR trên \(ID\) của hai đội. Ví dụ: Nếu hai đội có \(ID\)\(12\)\(20\) đang đấu thì tổng điểm của hai đội là \(28\)\((12\) XOR \(20) = 28\).

Chính vì điều thú vị này mà ban tổ chức muốn tổ chức thật nhiều trận đấu sao cho tổng điểm ghi được trong giải FOS Champion League là lớn nhất có thể.

Yêu cầu: Hãy giúp ban tổ chức lên lịch thi đấu sao cho tổng điểm ghi được là lớn nhất có thể.

Input

  • Dòng đầu tiên chứa số nguyên dương \(N\) \((2 \le N \le 2000)\).
  • \(N\) dòng tiếp theo mỗi dòng chứa \(ID\) của một đội \((1 ≤ ID ≤ 1073741823)\).

Output

  • In ra đáp án sau khi thực hiện yêu cầu bài toán.

Scoring

  • Subtask \(1\) (\(20\%\) số điểm): Có \(N \le 500\)\(ID \le 10^5\).
  • Subtask \(2\) (\(80\%\) số điểm): Không có ràng buộc gì thêm.

Example

Test 1

Input
4
3
6
9
10
Output
37
Note
  • Đầu tiên cho đội \(3\)\(9\) đấu và quyết định đội \(9\) thắng.
  • Tiếp theo cho \(6\)\(9\) đấu và quyết định đội \(6\) thắng.
  • Cuối cùng cho \(6\)\(10\) đấu và quyết định đội \(10\) vô địch.
    Ta được tổng điểm tương tứng là \((3\) XOR \(9)\) \(+\) \((6\) XOR \(9)\) + \((6\) XOR \(10)\) \(= 10 + 15 + 12 = 37\).

Bình luận

Không có bình luận nào.