#abc472c. On a Diet
On a Diet
题目描述
高橋君回老家住 天。
老家每天都会准备点心,第 天的点心热量是 。
为了控制体重,高橋君遵循这样的原则:只要最近 天里已吃点心的热量总和不超过 ,他就把今天的点心吃掉。
具体地,他按 的顺序,依照下面的规则决定第 天吃不吃:
- 假设他吃了第 天的点心,如果从第 天到第 天之间他实际吃掉的点心热量总和不超过 ,那么他就真的吃第 天的点心;否则就不吃。
请对每个 ,判断高橋君第 天吃不吃点心。
输入格式
N M K
A_1 A_2 ... A_N
输出格式
输出 行。第 行在高橋君第 天吃点心时输出 Yes,不吃时输出 No。
输入示例 1
5 3 83
48 73 59 90 21
输出示例 1
Yes
No
No
No
Yes
示例 1 说明
每一天「假设吃掉今天的点心」之后,最近 天里已吃热量的总和分别是:
- 第 天:;
- 第 天:;
- 第 天:;
- 第 天:;
- 第 天:。
注意第 天的窗口是第 天,其中第 天没吃,所以只累加了第 天的 。这正是本题的关键:窗口里累加的是实际吃掉的热量,不是所有点心的热量。
输入示例 2
7 4 728
187 816 349 609 255 308 175
输出示例 2
Yes
No
Yes
No
Yes
No
Yes
示例 2 说明
这组数据里 Yes 与 No 严格交替。第 天因为 ,单独一份就超标,所以无论窗口里有没有别的东西都吃不了。可以用它检验「只要 就必然输出 No」这条边界。
输入示例 3
10 3 1368290936
216519459 804733999 297250023 775422599 287963235 999315644 354987425 974810607 653940822 117157941
输出示例 3
Yes
Yes
Yes
No
Yes
Yes
No
No
Yes
Yes
示例 3 说明
超过了 ,而 也接近 ,窗口和很容易超过 位整数范围。本组数据用来检验是否使用了 long long:用 int 会因为溢出得到完全不同的一串答案。
约束条件
- 所有输入值均为整数