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] Lập lịch đĩa SSTF

    Mô phỏng lập lịch đĩa SSTF (Shortest Seek Time First) và tính tổng quãng đường di chuyển đầu đọc.

    Mỗi bước, đầu đọc phục vụ yêu cầu chưa phục vụ gần vị trí hiện tại nhất (khoảng cách |yêu cầu − hiện tại| nhỏ nhất). Tie-break: nếu hai yêu cầu cách đều, chọn yêu cầu có vị trí (track) nhỏ hơn.

    Thuật toán: lặp n lần; mỗi lần duyệt các yêu cầu chưa phục vụ, chọn cái gần nhất (hoà → track nhỏ hơn), cộng khoảng cách vào tổng, dời đầu đọc tới đó, đánh dấu đã phục vụ. In tổng.

    Ví dụ: start=50, yêu cầu 82 170 43 140. Thứ tự SSTF: 43(|7|), 82(39), 140(58), 170(30). Tổng = 7+39+58+30 = 134.

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

      Dòng 1: n start. Dòng 2: n số — các yêu cầu.

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

      1 ≤ n ≤ 5000; 0 ≤ start, yêu cầu ≤ 1000000.

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

      Một số nguyên: tổng quãng đường di chuyển.

    Ví dụ:

    Đầu vào:

    4 50
    82 170 43 140
    

    Đầu ra:

    134

    Giải thích:

    Bắt đầu 50. Gần nhất 43 (|7|) →total7, cur43. Gần nhất 82 (|39|) →total46, cur82. Gần nhất 140 (|58|) →total104, cur140. Cuối 170 (|30|) →total134. Tổng = 134.

    Đang tải editor...