#222
슈퍼볼
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%
문제
민수와 친구들은 매년 열리는 '슈퍼볼' 대회에 참가한다. 민수는 이 대회를 최대한 흥미진진하게 만들기 위해 토너먼트 대진표를 짜는 역할을 맡았다.
슈퍼볼에는 총 개의 팀이 참가한다. 각 팀은 다른 팀과 구별되는 이상 이하의 고유한 정수 ID를 가진다. 슈퍼볼은 서바이벌 방식으로 진행된다. 매 경기마다 두 팀이 경기를 치르며, 민수는 두 팀 중 한 팀을 선택해 탈락시킨다. 탈락한 팀은 이후의 어떤 경기에도 참여할 수 없다. 마지막으로 한 팀만 남을 때까지 경기를 반복한다.
민수는 경기의 점수에 아주 특별한 규칙이 있다는 것을 발견했다. 어느 경기에서든 두 팀이 얻는 점수는 두 팀 ID의 비트 배타적 논리합(XOR) 연산 결과와 같다. 예를 들어, ID가 인 팀과 인 팀이 경기를 하면 점을 얻는다. (; )
민수는 경기에서 얻는 점수가 높을수록 대회가 더 재미있어진다고 믿는다. 따라서 민수는 슈퍼볼에서 발생하는 모든 경기 점수의 합을 최대화하고 싶어 한다. 민수를 도와 가능한 점수 합의 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 팀의 수 이 주어진다. ()
이어서 개의 줄에 각 팀의 ID가 한 줄에 하나씩 주어진다. 각 ID는 이상 이하의 서로 다른 정수이다.
출력
슈퍼볼에서 얻을 수 있는 점수 합의 최댓값을 출력한다.
예제 입력 1
4
3
6
9
10
예제 출력 1
37
코드 제출
코드를 제출하려면 로그인이 필요합니다.
로그인내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.