의욕 리그
시간 제한3초메모리 제한512 MB
2^r개 팀이 고정된 토너먼트 대진에서 경기할 때, 1번 팀이 우승하도록 만드는 최소 총 훈련 시간을 구한다. 더 강한 팀을 이기려면 실력 차의 제곱만큼 훈련해야 한다.
문제
여러분 지역 럭비 리그의 팀들은 그다지 강하지 않지만, 그만큼 의욕이 넘친다. 이제 이 팀들로 단일 elimination 토너먼트를 열려고 하며, 2^n개의 팀이 n 라운드를 치른다. 각 라운드에서 남아 있는 2i+1번째 팀과 2i+2번째 팀이 짝을 이루고, 둘 중 하나가 탈락한다.

각 팀은 하나의 실수 값을 가진 실력 수준을 갖는다. 보통의 경우, 실력 수준이 더 높은 팀이 항상 더 낮은 팀을 이긴다. 하지만 훈련도 한몫한다. 한 팀이 다른 팀을 연구하고 그 기술을 익히고 상대와 훈련하면, 그 팀을 이길 수 있다.
실력 a인 팀이 실력 b인 팀(단, a ≤ b)을 이기기 위해 훈련해야 하는 시간은 |b − a|^2시간이다. 이 훈련은 그 한 경기에만 영향을 준다. 다른 팀에게 전이되지 않는다.
여러분은 자신이 가장 좋아하는 팀이 토너먼트에서 우승하기를 바란다. 모든 팀의 훈련 방식을 완전히 통제할 수 있다면 항상 그렇게 만들 수 있다. 팀 1이 우승하기 위해 필요한 총 훈련 시간의 최솟값은 얼마인가?
입력
입력은 다음과 같다.
- 한 줄에 정수 r(1 ≤ r ≤ 14), 토너먼트의 라운드 수가 주어진다.
- 한 줄에 2^r개의 정수 s1 ... s2^r(각 i에 대해 0 ≤ si ≤ 10^6)가 주어지며, si는 i번째 팀의 실력 수준이다.
출력
팀 1이 토너먼트에서 우승하기 위해 필요한 최소 시간을 출력한다.