CF1237A.Balanced Rating Changes

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Balanced Rating Changes

题目描述

又一场 Codeforces Round 刚刚结束!本场比赛共有 nn 名参赛者,根据比赛结果,第 ii 位参赛者的预期分数变动为 aia_i。这些分数变动是完全平衡的——它们的和等于 00

不幸的是,由于一些小的技术故障,本场比赛被宣布为“半计分”。这意味着所有的分数变动都必须除以二。

但有两个条件:

  • 对于每位参赛者 ii,他们修改后的分数变动 bib_i 必须是整数,并且尽可能接近 ai2\frac{a_i}{2}。也就是说,bib_i 要么等于 ai2\lfloor \frac{a_i}{2} \rfloor,要么等于 ai2\lceil \frac{a_i}{2} \rceil。特别地,如果 aia_i 是偶数,则 bi=ai2b_i = \frac{a_i}{2}。其中 x\lfloor x \rfloor 表示不大于 xx 的最大整数,x\lceil x \rceil 表示不小于 xx 的最小整数。
  • 修改后的分数变动也必须完全平衡——它们的和必须等于 00

你能帮忙实现这个操作吗?

输入格式

第一行包含一个整数 nn2n138452 \le n \le 13845),表示参赛者人数。

接下来的 nn 行,每行包含一个整数 aia_i336ai1164-336 \le a_i \le 1164),表示第 ii 位参赛者的分数变动。

所有 aia_i 的和等于 00

输出格式

输出 nn 个整数 bib_i,依次表示每位参赛者修改后的分数变动。

对于任意 ii,必须满足 bi=ai2b_i = \lfloor \frac{a_i}{2} \rfloorbi=ai2b_i = \lceil \frac{a_i}{2} \rceil。所有 bib_i 的和必须等于 00

如果有多组解,输出任意一组即可。可以证明,对于任意合法输入都存在解。

说明/提示

在第一个样例中,b1=5b_1 = 5b2=3b_2 = -3b3=2b_3 = -2 也是一个正确的解。

在第二个样例中,共有 66 种可能的解,样例输出展示了其中一种。

由 ChatGPT 4.1 翻译

样例

3
10
-5
-5
5
-2
-3
7
-7
-29
0
3
24
-29
38
-3
-15
0
2
12
-15
19

在线编程 IDE

建议全屏模式获得最佳体验