问题 4715 --考前冲刺

4715: 考前冲刺★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 19  解决: 5
[提交][状态][命题人:]

题目描述

小明需要在一次重要的语法考试前写完n道题目来提高自己的语法水平。但是这次考试迫在眉睫,更准确的说是k天之后就要开始了。这意味着小明只有k天时间来训练。

  小明不想耽搁,于是他打算接下来k天里每天至少解决一道题目。但他又不想延期,于是他又需要在某一天做x道题目,但他在次日不能做多于2x道题目,而且为了提高自己的水平,若他在某一天做了x道题目,则他次日必须做至少x+1道题目。

  也就是说,让小明找到这样一个数组【a1,a2,…,ak】,在第i天完成ai个题目,必须满足以下条件:

1、 数组中各元素和为n

2、 数组中各元素应大于零。

3、 1<i<k-1时,满足ai<ai+1<=2ai

你需要找到任何长度为k的数组a满足上述条件,或者说这是不可能做到的。

输入

第一行输入题目数n天数k1≤n≤109,1≤k≤105

输出

如果没有符合条件的数组,输出“NO”,否则第一行输出“YES”,第二行输出该数组。

样例输入
Copy
26 6
样例输出
Copy
YES
1 2 4 5 6 8 

提示

样例2输入

8 3

样例2输出

NO

样例3输入

1 1

样例3输出

YES

样例4输入

9 4

样例4输出

NO

来源

[提交][状态]