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

    solution

    Đề bài: [Hệ điều hành Unix] Pipe - Số byte còn trong buffer

    Pipe: số byte còn lại trong buffer

    Trong Unix, pipe là một bộ đệm (buffer) FIFO trong nhân hệ điều hành. Tiến trình ghi đẩy byte vào pipe, tiến trình đọc lấy byte ra. Số byte còn nằm trong pipe = tổng đã ghi − tổng đã đọc.

    Cho một dãy thao tác:

    • W k — ghi thêm k byte vào pipe.
    • R k — đọc ra k byte khỏi pipe (giả thiết luôn đủ byte để đọc).

    Hãy in số byte còn lại trong pipe sau khi thực hiện hết các thao tác.

    Ví dụ

    Với W 5, R 2, W 3 → còn 5 - 2 + 3 = 6 byte.

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

      Dòng đầu là số nguyên n — số thao tác. n dòng tiếp theo, mỗi dòng dạng W k hoặc R k.

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

      1 ≤ n ≤ 1000, 1 ≤ k ≤ 10^6. Đảm bảo mỗi thao tác R không đọc quá số byte hiện có.

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

      Một số nguyên: số byte còn lại trong pipe.

    Ví dụ:

    Đầu vào:

    3
    W 5
    R 2
    W 3
    

    Đầu ra:

    6

    Giải thích:

    Ghi 5, đọc 2 (còn 3), ghi thêm 3 → 6 byte.

    Đang tải editor...