#P1908. 2024.8.18&9.3-KDXF-第2题-栈

2024.8.18&9.3-KDXF-第2题-栈

题目内容

给定一个栈,初始时栈中为空。有mm次操作,每次操作向栈口压入一个数字。在一次操作之后,如果栈中有两个连续的相同数字xx,则它们会合并成数字x+1x+1。如果仍有,则重复此过程(可以证明同一时刻最多只有一组两个连续的相同数字)。问mm次操作之后栈中的数字自底向上是多少?

输入描述

第一行正整数mm,接下来一行mm个正整数,表示按顺序压入的数字。

1m1051≤ m≤ 10^5,压入数字为[1,m][1,m]中的整数

输出描述

一行若干个数字,表示最后剩下的数字(自栈底至栈顶)

示例 1

输入

6
1 1 2 3 4 5

输出

6

说明

在这个样例中,每次压入的数字都和栈中唯一的数字相间,故会合并成x+1x+1

示例2

输入

7
1 1 2 2 3 2 1

输出

3 2 3 2 1