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] Cấp phát bộ nhớ Worst-Fit

    Mô phỏng chiến lược cấp phát bộ nhớ Worst-Fit.

    Với mỗi yêu cầu, Worst-Fit chọn khối còn đủ chỗ có dung lượng còn lại lớn nhất. Tie-break: nhiều khối cùng lớn nhất → chọn chỉ số nhỏ hơn. Sau khi cấp, dung lượng giảm đúng bằng yêu cầu.

    Thuật toán: với mỗi yêu cầu, trong các khối avail ≥ req chọn khối có avail lớn nhất (hoà → chỉ số nhỏ nhất). In chỉ số 1-based hoặc -1.

    Ví dụ: khối 100 500 200 300 600, yêu cầu 212 417 112 426. Kết quả: 5 2 5 -1.

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

      Dòng 1: nb rồi nb kích thước khối. Dòng 2: nr rồi nr kích thước yêu cầu.

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

      1 ≤ nb, nr ≤ 1000; 1 ≤ kích thước ≤ 1000000.

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

      nr số: chỉ số khối (1-based) hoặc -1.

    Ví dụ:

    Đầu vào:

    5 100 500 200 300 600
    4 212 417 112 426
    

    Đầu ra:

    5 2 5 -1

    Giải thích:

    [100,500,200,300,600]. 212→lớn nhất đủ 600=khối5→in5, còn388. 417→đủ chỉ 500=khối2(388<417)→in2, còn83. 112→lớn nhất 388=khối5→in5, còn276. 426→còn[100,83,200,300,276]; không đủ→-1. Kết quả: 5 2 5 -1.

    Đang tải editor...