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] Lập kế hoạch cấp phát LVM

    Một Volume Group có tổng dung lượng bằng tổng các PV. Quản trị viên lần lượt yêu cầu tạo các Logical Volume với dung lượng cho trước, theo đúng thứ tự yêu cầu. Mỗi LV chỉ được tạo nếu dung lượng còn trống đủ; khi tạo, dung lượng trống giảm tương ứng. Nếu không đủ, LV đó bị từ chối (không cấp phát) nhưng các yêu cầu sau vẫn được xét.

    Cho dung lượng các PV và danh sách yêu cầu (tên size), hãy in mỗi yêu cầu một dòng <tên> OK hoặc <tên> FAIL, rồi in free=<dung lượng còn lại>.

    Ví dụ: VG=200; yêu cầu lv1=120 (OK, free 80), lv2=100 (FAIL, không đủ), lv3=50 (OK, free 30) → free cuối = 30.

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

      Dòng 1: số P rồi P số dung lượng PV. Dòng 2: số R. R dòng tiếp: tên size.

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

      0 ≤ P ≤ 1000; 1 ≤ R ≤ 1000; 0 ≤ size,PV ≤ 10^9.

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

      R dòng <tên> OK|FAIL theo thứ tự, rồi free=<còn lại>.

    Ví dụ:

    Đầu vào:

    1 200
    3
    lv1 120
    lv2 100
    lv3 50
    

    Đầu ra:

    lv1 OK
    lv2 FAIL
    lv3 OK
    free=30

    Giải thích:

    lv1 lấy 120 (còn 80); lv2 cần 100 > 80 → FAIL; lv3 lấy 50 → còn 30.

    Đang tải editor...