Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Lập trình Web & Backend] X-RateLimit-Reset: Giây còn lại đến khi reset

    Thời gian còn lại đến lúc reset cửa sổ

    Fixed Window độ dài W bắt đầu từ mốc 0. Với mỗi request tại t, hãy tính số giây còn lại đến khi cửa sổ hiện tại kết thúc (tức biên cửa sổ tiếp theo).

    Thuật toán

    Biên kết thúc cửa sổ chứa t là (floor(t/W)+1)*W. Số giây còn lại = biên - t.

    Ví dụ

    W=60, t=10 → cửa sổ [0,60), reset tại 60 → còn 50. t=60 → cửa sổ [60,120) → còn 60.

    • Định dạng đầu vào:

      Dòng 1: W. Dòng 2: Q. Q dòng timestamp.

    • Ràng buộc đầu vào:

      1 ≤ W ≤ 1e6; 1 ≤ Q ≤ 1000; 0 ≤ t ≤ 1e9.

    • Định dạng đầu ra:

      Q dòng, mỗi dòng số giây còn lại đến reset.

    Ví dụ:

    Đầu vào:

    60
    2
    10
    60
    

    Đầu ra:

    50
    60

    Giải thích:

    t=10 reset tại 60 → 50. t=60 thuộc cửa sổ mới reset tại 120 → 60.

    Đang tải editor...