问题 6252 --最大积分

6252: 最大积分

题目描述

为活跃科技节活动气氛,老师设计了一个积分换奖品的游戏。先准备n(1≤n≤200000)张卡片,每张卡片上写有一个整数si(0≤si≤10^9)。当卡片上的数大于0 时,表示取到这张卡片上所能得到的积分。这张卡片可以被丢弃,也可以被放在“叠放堆”上。卡片上的数字等于0 时,表示可以取“叠放堆”上的最顶部一张卡片(如果“叠放堆”上有剩余卡片的话),卡片上的分数将被累计到自己的总积分中。同学们都想获取尽量多的积分,以便换取更多更好的礼物。 为了帮助同学们理解,通过一个实例对获取最大积分的过程进行说明: 例如:有7 张卡片依次放在桌上,卡片上的数字为1,2,5,0,4,3,0,我们可以拿到最大的积分为9。过程如下:(1)把1 放在“叠放堆”,(2)把2 放在“叠放堆”,(3)把5 放在“叠放堆”,(4)取得最顶端的5 积分,(5)把4 放在“叠放堆”,(6)把3 丢弃,(7)取得最顶端的4 积分。 “叠放堆”的变化过程如下所示: ![](/upload/image/20240624/203824_46022.png) 当然获取最大积分的过程不唯一。

输入

输入二行,第一行有一个整数n,表示有n 张卡片;第二行有n 个整数,表示卡片上的数字。

输出

输出一行,能获得的最大积分。

样例输入输出

输入#1 复制
6
0 3 3 0 0 3
输出#1 复制
6
输入#2 复制
5
1 2 3 4 5
输出#2 复制
0

提示

数据范围:40%的数据,n≤5
序号 标题 作者 发表时间 费用 订购数 操作