SP19334 KHAOTMPL - Khaolin Temple

题目描述

少林寺,座落于中国空山,是世界上最著名的算法修行圣地。传说中,少林的程序员以其卓越的编程能力著称,能够在常数摊还时间内解决「NP-完全」问题。许多关于少林程序员的民间故事广为流传,其中,关于无与伦比的编码大师波斯基的故事最为著名。以下是一则关于波斯基在少林寺早期的传奇事件。 在少林寺的初期,波斯基是个聪明又极富个性的学生。一次,他的师父对所有学生下达任务,让他们去给一种特殊的花——少林花浇水。每浇一升水,这种花就能长高一米。师父想通过这个任务让大家忙碌,以便自己能安静打坐。他交代了花的具体位置和当前高度,同时规定,只有正确报告浇水后花的高度的学生才能进入寺庙。 考虑到学生们可能作弊,师父制定了一定的规则: 1. 每位学生都有一个分配给他的少林花阵列 [H1, H2, ..., Hn]。 2. 当站在第 K 朵花旁边时,学生必须回溯到第 (K-1) 朵花进行检查。如果 (K-1) 朵花不是比第 K 朵矮,他们就要记录下这个花的索引。然后继续回溯到 (K-2) 朵,如果条件满足,继续记录。这一过程一直持续到第 1 朵花。收集完索引后,学生需从河边取水,给这些花每朵都浇一升水(浇水后每朵花会长高一米)。 3. 学生需要严格按照规则,从第 1 朵花开始,然后依次执行,加水后才能移动到下一朵花。 4. 浇水必须从第 1 朵花开始。 师父估计,如果每个学生都认真执行这些规则,他们至少需要一个月才能完成任务,同时他也会有足够的时间专心打坐。而为了激发他们的积极性,他许诺,最快完成浇水任务且报告结果正确的人将获得学习秘密算法技能的机会,第二个完成任务的学生到来时,这奖励也随之停止。意外的是,才一个小时的时间,波斯基便完成了任务并且正确地报告了结果。这让师父感到震惊,起初以为波斯基作弊,不愿意奖励他。然而,波斯基解释了他的独特浇水方法,让师父刮目相看,并在接下来的一个月中教授他所有的秘密算法技能,甚至宣布波斯基为他的继承者。 虽然今天我们已不清楚波斯基使用的确切算法,但我们可以还原出可以用与波斯基算法同样或更高效方法解决的问题和时间限制。你的任务是模拟波斯基的效率,完成任务。 简洁版: 给定一个包含 N 个整数的数组 A [a1, a2, ..., an]。 1. 从 A[1] 开始, 对于每一个 A[i] (1 ≤ i ≤ n),找出数组 B,它包含所有满足 A[B[j]] ≥ A[i] 且 B[j] < i 的整数。 2. 将 A 中所有 B[j] 位置的元素增加 1。 3. 若 i < N,则 i = i + 1,并返回步骤 1;否则输出数组 A。

输入格式

- 第一行输入一个整数 N,表示花的数量。 - 第二行输入 N 个由空格分开的整数 H1, H2, ..., HN,表示每朵花的现有高度。

输出格式

- 输出 N 个由空格分开的整数,代表每朵花经过浇水后的最终高度。

说明/提示

- 1 ≤ N ≤ 10^5 - 1 ≤ Hi ≤ 10^9 ### 示例 输入: ``` 5 7 5 2 1 8 ``` 输出: ``` 11 7 3 1 8 ``` **本翻译由 AI 自动生成**