Có n khán giả đánh số 1 đến n. Quy tắc đứng/ngồi:
- Thời điểm
t₁: khán giả 1 đứng. t₂: khán giả 2 đứng.- ...
tₖ: khán giả k đứng.tₖ₊₁: khán giả k+1 đứng, khán giả 1 ngồi.- ...
tₙ: khán giả n đứng, khán giả n-k ngồi.tₙ₊₁: khán giả n+1-k ngồi.- ...
tₙ₊ₖ: khán giả n ngồi.
Ví dụ: n=11, k=6, t=4 -> kết quả 4.
Thuật toán giải quyết
- Nếu
t ≤ k: trả vềt. - Ngược lại nếu
t ≤ n: trả vềk. - Ngược lại:
res = t - n,res = k - res, trả vềres.
Ví dụ minh họa
def how_many_stand(n, k, t):
if t <= k:
return t
elif t <= n:
return k
else:
res = t - n
res = k - res
return res
n = 11
k = 6
t = 4
print(how_many_stand(n, k, t)) # 4
Đầu vào
11, 6, 4
Đầu ra
4