Theo đề bài, ta gọi F[i] là thời gian tối ưu của dãy i người

Bằng suy luận, ta thấy rằng nếu người "i" đi ra khỏi hàng là cách tối ưu khi và chỉ khi

R[i-1] + F[i-2] (giá của việc người "i" đi ra khỏi hàng) nhỏ hơn T[i] + F[i-1] (giá của việc người "i" đứng lại trong hàng)

Như vậy, ta có Pseudo Code

F[0] = 0    //Thời gian tổng của dãy có 0 người
F[1] = T[1] //Thời gian tổng của dãy có 1 người duy nhất
for i = 2 -> N:
    F[i] = min (F[i-1] + T[i] và F[i-2] + R[i-1])
endfor