I. 吾有上将潘凤,可斩华雄!

    传统题 1000ms 256MiB

吾有上将潘凤,可斩华雄!

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景:

“吾有上将潘凤,可斩华雄!”

盟主大帐内,韩馥的话音刚落,重生的潘凤心里就冷笑了一声。他知道,如果自己直接推脱,韩馥肯定会不高兴;但如果能把锅精准地甩给下一个人,下一个人为了保命再甩给再下一个人……直到甩给那个真正能打赢华雄的“战力天花板”,那自己不仅能保命,还能坐看联军内斗。

凭借重生多次经验,潘凤瞬间看穿了排成一排的 NN 位将领的武力值。他要计算的不再是简单的“下一个是谁”,而是整条“甩锅链”。

题目描述:

现在有 N(1N105)N(1\le N\le10^5) 位将领排成一排,从左到右依次编号为 11NN。第 ii 位将领的武力值是 Hi(1Hi106)H_i(1\le H_i\le10^6)

甩锅规则如下:

  1. 当华雄叫阵令下达给将领 ii 时,如果他右侧存在武力值严格大于他的将领,他会立刻把军令塞给右侧距离最近且比他强的将领 jj
  2. 将领 jj 接到军令后,同样会依此规则继续向右甩锅,直到军令传到某位将领手上时,其右侧再也没有比他更强的人。这位最后的将领将退无可退,必须披挂上阵。

一条完整的“甩锅链”包含从发起者到最后出战者的所有将领。重生者潘凤想知道:对于每一位将领 ii,如果从他开始发起甩锅,整条甩锅链上所有被卷入的将领的武力值之和是多少?

输入格式:

11 行输入一个整数 N(1N105)N(1\le N\le10^5),表示将领的数量。

之后 NN 行,第 i+1i+1 行输入一个整数 Hi(1Hi106)H_i(1\le H_i\le10^6),表示第 ii 位将领的武力值。

输出格式:

NN 行,按顺序每行输出一个整数,表示从第 ii 位将领开始甩锅时,整条链上的武力值总和。

输入输出样例 #1:

输入 #1

6 
3 
2 
6 
1 
1 
2 

输出 #1

9
8
6
3
3
2

说明/提示:

【样例解释】

66 位将领的武力值分别为 3,2,6,1,1,23, 2, 6, 1, 1, 2

  • 将领 1(武力 33):传给右边最近更强者将领 3(武力 66)。将领 33 右边没有更强者,甩锅结束。链上武力总和为 3+6=93 + 6 = 9
  • 将领 2(武力 22):传给将领 3(武力 66),结束。总和为 2+6=82 + 6 = 8
  • ...
  • 将领 4(武力 11):传给右边最近更强者将领 6(武力 22),结束。总和为 1+2=31 + 2 = 3

金陵科技学院算法暑假集训阶段水平测试Ⅰ(补题)

未参加
状态
已结束
规则
IOI
题目
9
开始于
2026-7-9 20:15
结束于
2026-8-3 20:15
持续时间
600 小时
主持人
参赛人数
7