题目链接
题意简述:
构造一个含 n 个元素的数列,所有元素的和为 m ,每个元素都在 [−1e7,1e7] 之间,且不存在某三个元素能构成等差数列。
对于给定的 n 和 m ,只要构造的数列符合题意就算正确。
我的思路:
只要令相邻的项之间的差成等差数列,那么原始数列肯定不是等差数列。
设数列 an 满足
a1=k+1
a2=a1+2
a3=a2+3
......
an=k+1+2+...+n=k+2n(n+1)
再对以上式子累加:
∑i=1nai=nk+6n3+3n2+2n
令上式等于 m 可解得
k=nm−6n2+3n+2
则数列 an 就可根据 k 值递推得出。
如果不能整除,那么k下取整,最后一项单独计算即可。
然后就过了样例。
然后就WA了。
然后跪求各位dalao能给个hack。。。。。