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 翻译