步步升高的卫星

Time Limit
1s
Memory Limit
102400KB
Judge Program
Standard
Ratio(Solve/Submit)
9.62%(5/52)
Description:

“东方红一号”是1970年4月24日在酒泉卫星发射中心发射升空的第一颗人造卫星,也是中国第一颗发射的人造卫星。“东方红一号”的发射成功标志着中华人民共和国成为世界上继苏联、美国、法国和日本之后第五个能够独立发射人造卫星的国家。它虽比苏联发射第一颗人造卫星“史普尼克一号”晚了13年,但它的技术超过了前四个国家的第一颗卫星,质量更超过了前四个国家第一颗卫星的总和。

“东方红一号”采用的“长征一号”运载火箭是一款设计超前的运载火箭,其技术水准远远超过当时的其他四个国家,虽然其在19年前(2002年)退役,但如今的卫星发射仍然有部分采用的是“长征一号”运载火箭进行简单的运输任务。

“长征一号”运载火箭采用的是多级火箭结构,最下面的叫做第一级,然后向上依次叫做第二级、第三级……第一级的燃料量严格大于第二级,第二级的燃料数量也严格大于第三级,这样才能保证火箭的正常发射,这里我们定义这个多级火箭有 n 级。

运输人员把燃料摆放成 n 堆并编号,保证每一堆的燃料的量都是整数,编号为 1 的燃料将会被填充入一号火箭,以此类推。但是不靠谱的运输人员对多级火箭并不了解,他们并不保证这 n 堆燃料呈现严格递减。

作为这项工程的工程师,你需要移动部分燃料使得其能够满足严格递减。但移动燃料的机器只允许你进行如下操作:

选择一堆燃料,其编号为 i(n >= i > 1),将其中的一个单位燃料移动至编号为 i - 1 的燃料堆

请问在不增加额外的燃料堆的情况下,你能否使得这些燃料堆最终变成严格递减(允许某堆燃料为空)。

Input:

第一行是一个整数 n (0 < n < 1000000)

接下来一行有 n 个数字,每个数字用 xi 表示 (0 <= xi <= 1000000000)表示第 i 堆有 xi 单位的燃料

Output:

如果能够通过题面描述,使得燃料呈现严格递减,则输出 "YES" (不包括括号,下同),否则输出 "NO"

Sample Input:
3
0 1 0
Sample Output:
NO
Source:

Shiroha


Submit