Chips Moving ( Codeforces Round #582)

You are given nn chips on a number line. The ii-th chip is placed at the integer coordinate xixi. Some chips can have equal coordinates.

You can perform each of the two following types of moves any (possibly, zero) number of times on any chip:

  • Move the chip ii by 22 to the left or 22 to the right for free (i.e. replace the current coordinate xixi with xi−2xi−2 or with xi+2xi+2);
  • move the chip ii by 11 to the left or 11 to the right and pay one coin for this move (i.e. replace the current coordinate xixi with xi−1xi−1 or with xi+1xi+1).

Note that it's allowed to move chips to any integer coordinate, including negative and zero.

Your task is to find the minimum total number of coins required to move all nn chips to the same coordinate (i.e. all xixi should be equal after some sequence of moves).

Input

The first line of the input contains one integer nn (1≤n≤1001≤n≤100) — the number of chips.

The second line of the input contains nn integers x1,x2,…,xnx1,x2,…,xn (1≤xi≤1091≤xi≤109), where xixi is the coordinate of the ii-th chip.

Output

Print one integer — the minimum total number of coins required to move all nn chips to the same coordinate.

Examples input Copy
3
1 2 3
output Copy
1
input Copy
5
2 2 2 3 3
output Copy
2
Note

In the first example you need to move the first chip by 22 to the right and the second chip by 11 to the right or move the third chip by 22 to the left and the second chip by 11 to the left so the answer is 11.

In the second example you need to move two chips with coordinate 33 by 11 to the left so the answer is 22.

int main()
{
    int n,k,ans=0,cnt=0;
    cin>>n;
    rep(1,n)
    {
        cin>>k;
        if(k&1) ans++;
    }
    cout<<min(ans,n-ans)<<endl;
    ok;
} 

 

上一篇:Xilinx OpenCL的存储模型


下一篇:G - Shuffle'm Up POJ - 3087