AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P2655. 回转寿司

中等通过率 65% · 提交 1,080 · 通过 706
单调栈模拟

小慕正在开发一个寿司店周年庆的优惠活动功能。寿司转盘上总共有n盘寿司,prices[i] 是第 i 盘寿司的价格。如果客户选择了第 i 盘寿司,系统会自动赠送,前提是prices[j] < prices[i];如果没有满足条件的 j,则不赠送寿司。 每个价格的寿司都可无限供应。

提示:带虚线的词点一下有通俗解释。

输入描述

<p> 输入的每一个数字代表每盘寿司的价格,每盘寿司的价格之间使用空格分隔 </p> <p> 寿司的盘数 n范围为: 1 <= n <= 500 </p>

输出描述

输出享受优惠后的一组数据,每个值表示客户选择第 i 盘寿司时实际得到的寿司的总价格。使用空格进行分隔。

示例

示例 1

输入

3 15 6 14

输出

3 21 9 17

示例 2

输入

5 12 7 13

输出

5 19 12 18

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
回转寿司优惠示例 输入:3 15 6 14 第1盘 3 第2盘 15 第3盘 6 第4盘 14 输出:3 21 9 17 第1盘(3):无更便宜 → 3 第2盘(15):下一盘6更便宜 → 15+6=21 第3盘(6):下一盘3更便宜(循环) → 6+3=9 第4盘(14):下一盘6更便宜 → 14+6=17
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「回转寿司」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。