Mô phỏng thuật toán thay trang Optimal (OPT / Belady) và đếm số page fault.
Khi khung đầy và xảy ra fault, loại trang sẽ được dùng xa nhất trong tương lai — nếu một trang trong khung không còn được dùng nữa thì loại nó ngay (ưu tiên trang gặp đầu tiên trong khung theo thứ tự nạp khi có nhiều trang không dùng lại).
Thuật toán: với mỗi page fault và khung đầy, với mỗi trang f đang ở trong khung, tìm vị trí xuất hiện kế tiếp của f trong phần còn lại của chuỗi. Trang có vị trí kế tiếp xa nhất (hoặc không xuất hiện) là nạn nhân. (Khi duyệt khung theo thứ tự nạp, trang không-xuất-hiện-lại đầu tiên được chọn ngay.)
Ví dụ: cap=3, chuỗi 7 0 1 2 0 3 0 4. Số page fault OPT = 6.
Dòng đầu: cap m. Dòng sau: m số — chuỗi tham chiếu trang.
1 ≤ cap ≤ 50; 1 ≤ m ≤ 5000; 0 ≤ trang ≤ 1000000.
Một số nguyên: tổng page fault.
Ví dụ:
Đầu vào:
3 8
7 0 1 2 0 3 0 4
Đầu ra:
6
Giải thích:
Đang tải editor...