CF1213A Chips Moving

题目描述

在数轴上有 $n$ 个筹码,第 $i$ 个筹码位于整数坐标 $x_i$。有些筹码可能处于相同的坐标。 你可以对任意一个筹码执行以下两种操作中的任意一种(可以执行任意多次,包括零次): - 将第 $i$ 个筹码向左或向右移动 $2$ 个单位,免费(即将当前坐标 $x_i$ 替换为 $x_i - 2$ 或 $x_i + 2$); - 将第 $i$ 个筹码向左或向右移动 $1$ 个单位,需支付 $1$ 个硬币(即将当前坐标 $x_i$ 替换为 $x_i - 1$ 或 $x_i + 1$)。 注意,允许将筹码移动到任意整数坐标,包括负数和零。 你的任务是计算,将所有 $n$ 个筹码移动到同一坐标所需支付的最少硬币数(即经过若干次操作后,所有 $x_i$ 都相等时所需的最小硬币数)。

输入格式

输入的第一行包含一个整数 $n$($1 \le n \le 100$),表示筹码的数量。 第二行包含 $n$ 个整数 $x_1, x_2, \dots, x_n$($1 \le x_i \le 10^9$),其中 $x_i$ 表示第 $i$ 个筹码的坐标。

输出格式

输出一个整数,表示将所有 $n$ 个筹码移动到同一坐标所需支付的最少硬币数。

说明/提示

在第一个样例中,你需要将第一个筹码向右移动 $2$ 个单位,将第二个筹码向右移动 $1$ 个单位,或者将第三个筹码向左移动 $2$ 个单位,将第二个筹码向左移动 $1$ 个单位,因此答案为 $1$。 在第二个样例中,你需要将两个坐标为 $3$ 的筹码分别向左移动 $1$ 个单位,因此答案为 $2$。 由 ChatGPT 4.1 翻译