Facebook Puzzle
Anonymous User
17298

Hello,
Trying to solve the following Facebook puzzle, being lazy... just took a screenshot of the puzzle
image
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

Comments (38)