Hello,
Trying to solve the following Facebook puzzle, being lazy... just took a screenshot of the puzzle

Here's my code in Java:
public long getMaxAdditionalDinersCount(long N, long K, int M, long[] S) {
// Write your code here
Arrays.sort(S);
long guests = 0;
long start = 1;
long range = 0;
for(long seatedDiner : S){
range = seatedDiner - start;
guests += (long)(Math.floor(range/(K + 1)));
start = seatedDiner + K + 1;
}
range = N - start + 1;
guests += Math.ceil(range/ (K+1));
return guests;
//return 0L;
}It passes one test case but fails second one, please let me know what I'm doing wrong!!
Passes:
N = 15
K = 2
M = 3
S = [11, 6, 14]
return 1
Fails:
N = 10
K = 1
M = 2
S = [2, 6]
return 3