Bessie and Elsie were playing a game on a boolean array AA of length 2N2N (1≤N≤1051≤N≤105). Bessie's score was the number of inversions in the first half of AA, and Elsie's score was the number of inversions in the second half of AA. An inversion is a pair of entries A[i]=1A[i]=1 and A[j]=0A[j]=0 where i<ji<j. For example, an array consisting of a block of 0s followed by a block of 1s has no inversions, and an array consisting of a block of XX 1s follows by a block of YY 0s has XYXY inversions.
Farmer John has stumbled upon the game board and is curious to know the minimum number of swaps between adjacent elements needed so that the game looks like it was a tie. Please help out Farmer John figure out the answer to this question.
INPUT FORMAT (file balance.in):
The first line of input contains NN, and the next line contains 2N2N integers that are either zero or one.
OUTPUT FORMAT (file balance.out):
Please write the number of adjacent swaps needed to make the game tied.
SAMPLE INPUT:
5
0 0 0 1 0 1 0 0 0 1
SAMPLE OUTPUT:
1
In this example, the first half of the array initially has 11 inversion, and the second half has 33 inversions. After swapping the 55th and 66th bits with each other, both subarrays have 00 inversions.
Problem credits: Dhruv Rohatgi
中文版
Bessie和Elsie在一個長為2N2N的布爾數(shù)組AA上玩游戲(1≤N≤1051≤N≤105)。Bessie的分數(shù)為AA的前一半的逆序?qū)?shù)量,Elsie的分數(shù)為AA的后一半的逆序?qū)?shù)量。逆序?qū)χ傅氖菨M足A[i]=1A[i]=1以及A[j]=0A[j]=0的一對元素,其中i<ji<j。例如,一段0之后接著一段1的數(shù)組沒有逆序?qū)Γ欢蝀X個1之后接著一段YY個0的數(shù)組有XYXY個逆序?qū)Α?br /> Farmer John偶然看見了這一棋盤,他好奇于可以使得游戲看起來成為平局所需要交換相鄰元素的最小次數(shù)。請幫助Farmer John求出這個問題的答案。
輸入格式(文件名:balance.in):
輸入的第一行包含NN,第二行包含2N2N個為0或1的整數(shù)。
輸出格式(文件名:balance.out):
輸出使得游戲成為平局最少需要的移動次數(shù)。
輸入樣例:
5
0 0 0 1 0 1 0 0 0 1
輸出樣例:
1
在這個例子中,初始時前一半有11個逆序?qū)Γ笠话胗?3個逆序?qū)Α=粨Q了第55和第66個數(shù)之后,兩個子數(shù)組均有00個逆序?qū)Α?br /> 供題:Dhruv Rohatgi

? 2025. All Rights Reserved. 滬ICP備2023009024號-1