Bài toán kinh điển: producer bỏ sản phẩm vào buffer chứa tối đa C ô; consumer lấy sản phẩm ra. Buffer là hàng đợi FIFO.
Thao tác:
P x — producer thử bỏ sản phẩm x. Nếu buffer đầy, thao tác thất bại (sản phẩm bị bỏ, đếm vào blocked_p).C — consumer thử lấy. Nếu buffer rỗng, thất bại (đếm vào blocked_c).Sau khi xử lý hết, in 3 số: số sản phẩm hiện trong buffer, blocked_p, blocked_c.
C=2: P 1,P 2,P 3(đầy→blocked_p=1),C(lấy 1),C(lấy 2),C(rỗng→blocked_c=1) → 0 1 1.
Dòng đầu: C n. n dòng: P x hoặc C.
1 ≤ C ≤ 10^5, 1 ≤ n ≤ 2000, 0 ≤ x ≤ 10^9.
Ba số nguyên cách nhau dấu cách: số phần tử trong buffer, blocked_p, blocked_c.
Ví dụ:
Đầu vào:
2 6
P 1
P 2
P 3
C
C
C
Đầu ra:
0 1 1
Giải thích:
Đang tải editor...