CF1237A Balanced Rating Changes

题目描述

又一场 Codeforces Round 刚刚结束!本场比赛共有 $n$ 名参赛者,根据比赛结果,第 $i$ 位参赛者的预期分数变动为 $a_i$。这些分数变动是完全平衡的——它们的和等于 $0$。 不幸的是,由于一些小的技术故障,本场比赛被宣布为“半计分”。这意味着所有的分数变动都必须除以二。 但有两个条件: - 对于每位参赛者 $i$,他们修改后的分数变动 $b_i$ 必须是整数,并且尽可能接近 $\frac{a_i}{2}$。也就是说,$b_i$ 要么等于 $\lfloor \frac{a_i}{2} \rfloor$,要么等于 $\lceil \frac{a_i}{2} \rceil$。特别地,如果 $a_i$ 是偶数,则 $b_i = \frac{a_i}{2}$。其中 $\lfloor x \rfloor$ 表示不大于 $x$ 的最大整数,$\lceil x \rceil$ 表示不小于 $x$ 的最小整数。 - 修改后的分数变动也必须完全平衡——它们的和必须等于 $0$。 你能帮忙实现这个操作吗?

输入格式

第一行包含一个整数 $n$($2 \le n \le 13845$),表示参赛者人数。 接下来的 $n$ 行,每行包含一个整数 $a_i$($-336 \le a_i \le 1164$),表示第 $i$ 位参赛者的分数变动。 所有 $a_i$ 的和等于 $0$。

输出格式

输出 $n$ 个整数 $b_i$,依次表示每位参赛者修改后的分数变动。 对于任意 $i$,必须满足 $b_i = \lfloor \frac{a_i}{2} \rfloor$ 或 $b_i = \lceil \frac{a_i}{2} \rceil$。所有 $b_i$ 的和必须等于 $0$。 如果有多组解,输出任意一组即可。可以证明,对于任意合法输入都存在解。

说明/提示

在第一个样例中,$b_1 = 5$,$b_2 = -3$,$b_3 = -2$ 也是一个正确的解。 在第二个样例中,共有 $6$ 种可能的解,样例输出展示了其中一种。 由 ChatGPT 4.1 翻译