만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

역순쌍 균형 맞추기

시간 제한2초메모리 제한512 MB

요약
길이가 2N인 이진 배열이 주어질 때, 앞 절반과 뒤 절반의 역전 쌍 수가 같아지도록 인접 원소를 교환하는 최소 횟수를 구합니다.
난이도

보통10점 중 7점

유형
배열, 그리디, 수학
정답자
아직 제출이 없습니다

문제

Bessie와 Elsie는 길이가 2N2N인 불리언 배열 AA로 게임을 하고 있었다(1≤N≤1051 \le N \le 10^5). Bessie의 점수는 AA의 앞쪽 절반에 있는 역순쌍의 개수이고, Elsie의 점수는 뒤쪽 절반에 있는 역순쌍의 개수이다. 역순쌍은 i<ji<j인 두 원소 A[i]=1A[i]=1, A[j]=0A[j]=0의 쌍이다. 예를 들어 0이 연속으로 나온 뒤 1이 연속으로 나오는 배열에는 역순쌍이 없다. XX개의 1이 연속으로 나온 뒤 YY개의 0이 연속으로 나오는 배열에는 XYXY개의 역순쌍이 있다.

Farmer John이 이 게임판을 발견했다. 그는 게임 결과가 무승부가 되도록 인접한 원소를 최소 몇 번 교환해야 하는지 알고 싶어 한다. 이 값을 구하는 것을 도와 달라.

입력

첫 줄에 NN이 주어진다. 다음 줄에는 0 또는 1인 정수가 2N2N개 주어진다.

출력

두 사람의 점수가 같아지는 데 필요한 인접 원소 교환 횟수의 최솟값을 출력한다.

힌트

이 예시에서 배열의 앞쪽 절반에는 처음에 역순쌍이 1개 있고, 뒤쪽 절반에는 3개 있다. 5번째와 6번째 비트를 서로 교환하면 두 절반의 역순쌍이 모두 0개가 된다.

예제1

  1. 예제 1

    입력
    5
    0 0 0 1 0 1 0 0 0 1
    
    예상 출력
    1