牛客挑战赛33D
2019年10月22日
###name
种花家的零食
###descirption
在很久以前,有一颗蓝星,蓝星上有一个种花家。
种花家有1到n共n包零食,同时种花家的兔子又有1到n共n个朋友(比如毛熊,鹰酱,脚盆鸡等)。
昨天,兔子的n个朋友都到他家来玩了。他的n个朋友瓜分了他的n包零食,每个人都恰好吃了一包零食,没有两个人吃了同一包零食。
兔子发现,第i个朋友吃第j包零食能获得的愉悦值是$i\mod j$。
今天,兔子想回忆起每个朋友吃的是哪包零食,他想不起来了,但是他却记得了所有人的愉悦值之和s。于是,兔子找上了你,请你构造出一种可能的方案。
由于兔子记忆力不好,他有可能记错了s,所以可能会存在无解的情况。
###input
一行两个整数$n(1\leq n\leq 10^6)$和$s(1\leq s\leq10^{18})$
###output
如果不存在满足条件的方案,输出一行-1。
否则输出n行,每行一个整数,第i行的整数表示第i个朋友吃的是哪包零食。
###sample input
5 7
###sample output
1
4
3
5
2
###sample input
5 100
###sample output
-1
###toturial
分析出上界为$\frac{n(n-1)}{2}$后,分类讨论,用数学归纳法证明特例即可
###code
1 |
|