Một pipe truyền tối đa R byte mỗi chu kỳ (tick). Có D byte dữ liệu cần truyền. Mỗi tick truyền min(R, byte_còn_lại).
Tuy nhiên reader chỉ rút dữ liệu ra với tốc độ tối đa K byte/tick từ phía bên kia, và pipe có sức chứa C. Trong mỗi tick: trước hết writer đẩy vào pipe min(R, D_còn, C - mức_hiện) byte; sau đó reader rút ra min(K, mức_hiện) byte.
Đếm số tick cần để toàn bộ D byte đã được reader rút ra.
D=10, R=4, K=3, C=5. Mô phỏng từng tick cho tới khi reader rút đủ 10 byte.
Một dòng gồm 4 số nguyên: D R K C.
1 ≤ D ≤ 10^6, 1 ≤ R,K,C ≤ 10^6.
Một số nguyên: số tick cần thiết.
Ví dụ:
Đầu vào:
10 4 3 5
Đầu ra:
4
Giải thích:
Đang tải editor...