小慕在自己的魔法实验室里进行了一场弹珠能量测试。每颗弹珠都蕴含着不同的魔力,沿着同一条魔力轨道飞行。弹珠的能量由整数数组 `marbles` 表示: - `marbles[i]` 的代表第 `i` 颗弹珠的能量大小; - 正号表示该弹珠向右飞行,负号表示向左飞行。 所有弹珠以相同的速度移动。 当弹珠迎面相遇发生魔力碰撞时,规则如下: - 如果两颗弹珠发生碰撞,能量较小的那颗会被击碎消失; - 如果两颗弹珠的能量大小相同,则两颗弹珠都会; - 移动方向相同的弹珠永远不会碰撞。 请帮助小慕计算出所有经过激烈碰撞后仍然存在的弹珠,并。
提示:带虚线的词点一下有通俗解释。
输入描述
- 第一行输入一个整数 `n` (`1 <= n <= 10^4`),表示弹珠的数量。 - 第二行输入 `n` 个整数,表示数组 `marbles`,其中每个整数的范围为 `-1000 <= marbles[i] <= 1000`,且 `marbles[i] != 0`。
输出描述
- 如果有弹珠剩下,输出一行剩余弹珠的能量值,以空格分隔。 - 如果所有弹珠都湮灭了,则输出一行 `-1`。
示例
示例 1
输入
6 5 10 -5 -10 7 8
输出
5 7 8
示例 2
输入
4 8 -8 5 -5
输出
-1
示例 3
输入
5 10 2 -5 -7 8
输出
10 8
时间限制 1000 ms · 内存限制 128 MB