未优化写作的题解:
设取k个数,集合为A (A的大小为k),要构成1~k。剩下n-k个数够成集合B
设这k个数的和为sum,
若sum>=1+...+k,显然可行(内部匀,多了丢给B)
若sum<1+...+k,需要从B借,而B内每个数ai能提供ai-1(ai最后不小于1)
如此一看,不如选A的时候就选最大的k个数。
--------------------
可二分答案,
check k=mid是否可行:
取最大的k个数,若sum大于1+...+k,true,若sum不够,看剩下要借的,B能不能提供