I think the implementation forget to remove duplicates.
consider following test cases:
* Test cases:
* [-1,-1,0,1,2] , 1 -> [-1,-1,0],[-1,0,1],[-1,-1,2],[-1,-1,1]
* [-1,0,0,0,1,1,1], 1 -> [-1,0,0],[-1,0,1],[0,0,0]
* [0,0,0,0], 1 -> [0,0,0]
your output is
5, 13, 4 for these cases