#4488. 金币(Coin)
金币(Coin)
题目描述:
在一个遥远的大陆上,有一位勇敢的探险者,他踏上了寻找古代遗迹的旅程。传说中,遗迹内藏有大量的金币,但每个金币的获得都是通过不同的挑战和任务来积累的。探险者需要通过完成任务、击败怪物、寻找隐藏的宝藏等方式,逐步增加他的金币储备。
探险者的任务是通过连续的 挑战 来获得金币,每一天的挑战难度都会有所不同。挑战的奖励也会有所波动,探险者每天可以获得一定数量的金币。在他的旅途中,他记录了每一天的金币收入情况。
现在,探险者希望了解在这段时间内,哪一段时间的 金币收入 是 最稳定增长 的,或者说,他希望找出 最长的严格递增金币收入序列。这个问题的解决将帮助他规划接下来的探险路线,从而最大化他收集金币的效率。
你的任务就是,给定这段时间内的金币收入记录,帮助探险者找到 最长的严格递增子序列,并输出该子序列的元素。
输入格式:
- 第一行输入一个整数
n,表示数列的长度(即天数)。 其中 1 <= n <= 100000; - 第二行输入
n个整数,表示数列a[1], a[2], ..., a[n],每个整数代表该天探险者获得的金币数。 其中 1 <= a[i] <= 10000;
输出格式:
- 第一行输出一个整数,表示最长严格递增子序列的长度。
- 第二行输出该最长严格递增子序列的元素。
样例输入 1:
8
1 3 2 4 5 7 3 8
样例输出 1:
6
1 2 4 5 7 8
样例输入 2:
10
5 3 7 4 6 2 8 1 9 5
样例输出 2:
5
3 4 6 8 9