#P2600G. 我要打诶西阿姆

我要打诶西阿姆

题目背景

你老是在想我要打比赛 ,

你老是在想我要拿牌子 ,

你知道我 CFCF 为什么一直掉分吗,

就是因为我没训练不刷题,

我就是要一步一步,

一步一步地把算法学会,

我要打 ACM 。

题目描述

暑假期间,LDLD 为了让队友刮目相看,于是决定开始魔鬼训练计划,他将开始训练 nn 天,(请不要在意为什么暑假会有这么多天,每天刷 aia_i 道题 (也请不要在意为什么他一天能刷这么多题。

如果当天没完成的可以留到明天,但他想确保每天至少能刷 hh 道题,由于他比较懒,多余 hh 的题),他会留给明天,最后一天多出来剩下的题他会留给队友(?。

即当 ai≥h时a_i \geq h 时,ai+1=ai+1+ai−ha_{i+1}=a_{i+1}+a_i-h 。

当 ai<h时a_i \lt h 时,则无法完成训练 。

为了给队友实时汇报他的刷题情况,他想求对于每个前缀 ii,也就是只考虑前 ii 天的训练计划,请计算最大的整数 hh,使 LDLD 能保证这 ii 天每天都刷 hh 道题。

输入格式

输入第一行包含一个整数 n(1≤n≤2×105)n(1\leq n\leq 2\times 10^5) 。

第二行包含 nn 个整数 ai(1≤ai≤109)a_i(1 \leq a_i \leq 10^9) 。

输出格式

对于每个测试用例,输出一行 nn 个整数。第 ii 个整数表示只考虑前 ii 天时,LDLD 每天最多能刷的题数 hh。

4
7 1 3 5
7 4 3 3

样例说明

当 i=1i=1 时,显然 h=7h=7 。

当 i=2i=2 时,若选择 h=4h=4,第一天刷 44 道题,剩下的 33 道留给第二天。第二天共有 1+3=41+3=4 道题,刚好可以完成训练,若选择h=5h=5则无法完成训练 。

.....