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] Presence sống: ai online tại thời điểm

    Presence sống: ai online tại thời điểm

    Mỗi client coi là online nếu heartbeat gần nhất của nó cách thời điểm truy vấn không quá T. Xử lý theo dòng thời gian (mốc từ input):

    • BEAT <time> <client>: ghi nhận heartbeat.
    • QUERY <time>: in số client đang online tại time (tức có heartbeat với time - last <= T).

    Dòng 1: T. Dòng 2: N. Các dòng sự kiện có time không giảm.

    Ví dụ

    Input:
    5
    4
    BEAT 1 a
    BEAT 2 b
    QUERY 5
    BEAT 6 a
    QUERY 10
    
    Output:
    2
    1
    

    Tại t=5: a(last1,5-1=4<=4 ok), b(last2,3 ok) -> 2. Tại t=10: a(last6,4 ok), b(last2,8>4 hết) -> 1.

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

      Dòng 1: T. Dòng 2: N. N dòng BEAT <time> <client> hoặc QUERY <time>.

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

      0 ≤ N ≤ 2000; 0 ≤ time ≤ 10^9; 1 ≤ T ≤ 10^9.

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

      Với mỗi QUERY, in số client online tại thời điểm đó.

    Ví dụ:

    Đầu vào:

    5
    4
    BEAT 1 a
    BEAT 2 b
    QUERY 5
    BEAT 6 a
    QUERY 10
    

    Đầu ra:

    2

    Giải thích:

    t=5: a,b đều trong T=4 -> 2. t=10: chỉ a (last6) còn online -> 1.

    Đang tải editor...