베시와 엘시는 길이 \(2N\)인 불리언 배열 \(A\) (\(1 \leq N \leq 10^5\)) 위에서 게임을 하고 있었다. 베시의 점수는 \(A\)의 앞쪽 절반에 있는 역위(inversion)의 수이고, 엘시의 점수는 \(A\)의 뒤쪽 절반에 있는 역위의 수였다. 역위란 \(i
농부 존이 우연히 게임판을 발견했는데, 게임이 무승부처럼 보이게 만들기 위해 필요한 인접 원소 간 교환의 최소 횟수가 궁금해졌다. 농부 존이 이 질문의 답을 알아내는 것을 도와주자.
문제 제공: Dhruv Rohatgi
문제 제공: Dhruv Rohatgi
첫째 줄에 \(N\)이 주어지고, 다음 줄에 0 또는 1인 \(2N\)개의 정수가 주어진다.
게임을 무승부로 만들기 위해 필요한 인접 교환의 횟수를 출력한다.
balance.in · 출력을 쓸 파일 balance.out5
0 0 0 1 0 1 0 0 0 11In this example, the first half of the array initially has \(1\) inversion, and
the second half has \(3\) inversions. After swapping the \(5\)th and \(6\)th bits with
each other, both subarrays have \(0\) inversions.