小乌龟不小心掉进了香城大峡谷的底处!小X经过听到他在大峡谷下的求救,于是报了警。在等待香城救援队的来临,小X决定把一些水倒进去给口渴的小乌龟。
小X在洞上看,发现香城大峡谷深$10^{18}$,而阔度为$N$。他用了一个大小为$N$的序列$A$来表达崎岖不平的大峡谷底。序列$A$表达的是峡谷底左至右岩石的高度,$A_1$是最左的岩石,$A_N$是最右的岩石。
为了让小乌龟轻松喝到倒下去的水,倒下去的水必须盖过小乌龟的全身。留意水会向低的地方流。每阔度为1,高度为1的水为1个单元的水量。
可是小X不知道小乌龟的确实位置。于是他找你帮忙计算,对于所有位置$i$,找出若小乌龟在第$i$块岩石上,他至少需要多少水才能让小乌龟轻松喝到。
输入格式
输入的第一行包含一个整数$N$表示香城大峡谷的阔度。
第二行包含$N$个正整数$A_1,A_2,...,A_N$,表示峡谷底左至右岩石的高度。
输出格式
输出1行$N$个整数,第$i$个整数表示若小乌龟在第$i$块岩石上,需要多少水才能让小乌龟轻松喝到。
数据范围
对于所有的测试数据,保证:
$1 \le N \le 10^6$
$1 \le A_i \le 10^9$
注意不寻常的时间限制!!!
| 数据编号 | $N \le$ | 特殊性质 |
|---|---|---|
| 1-4 | $8000$ | 无 |
| 5 | $10^5$ | A |
| 6-7 | $10^6$ | A |
| 8-9 | $10^5$ | B |
| 10-11 | $10^6$ | B |
| 12-13 | $2 \times 10^4$ | C |
| 14-15 | $5 \times 10^4$ | C |
| 16-18 | $10^5$ | 无 |
| 19-20 | $10^6$ | 无 |
特殊性质A:保证$A_i \le A_i+1$
特殊性质B:保证$A_1 \ge A_2 \ge ... \ge A_K \le ... \le A_N-1 \le A_N$ ($1 \lt K \lt N$)
特殊性质C:保证$A_i \le 30$
Credits:
turtle from: https://hadrian.cc/
stones and soil from: minecraft
Sample Test Cases
| Input | Output | |
|---|---|---|
| 4 4 1 3 2 |
10 1 6 1 | |
|
||
| 6 3 5 4 2 3 5 |
1 14 6 1 3 14 | |
| /turtle3.in | /turtle3.ans | |
此样例满足第8-11测试点的限制 |
||
| /turtle4.in | /turtle4.ans | |
此样例满足第16-20测试点的限制 |
||
Scoring: Per Case
Authored by s22l19, s23f32 and wy24215
Appeared in 2025 Mini Comp 4 [WY Interschool Pre-SDIC]