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] Phân tích ps: tổng %CPU theo user

    Cho output kiểu ps aux chuẩn hoá với dòng đầu là header USER PID %CPU %MEM RSS COMMAND. Cột 1 là USER, cột 3 là %CPU.

    Hãy tính tổng %CPU theo từng USER và in USER TỔNG, trong đó TỔNG in với đúng 1 chữ số thập phân. Sắp xếp giảm dần theo TỔNG; hoà thì tăng dần theo USER (LC_ALL=C).

    Ví dụ

    Input:

    USER PID %CPU %MEM RSS COMMAND
    root 1 10.0 1.0 100 a
    root 2 5.5 1.0 100 b
    www 3 20.0 1.0 100 c
    

    Output:

    www 20.0
    root 15.5
    
    • Định dạng đầu vào:

      Dòng 1: header. Các dòng sau: tiến trình (cột 1 USER, cột 3 %CPU). Có thể không có tiến trình.

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

      0 ≤ số tiến trình ≤ 100000. %CPU ≥ 0.

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

      Mỗi dòng USER TỔNG (TỔNG 1 chữ số thập phân), giảm dần theo TỔNG, hoà thì tăng USER. Không có thì không in.

    Ví dụ:

    Đầu vào:

    USER PID %CPU %MEM RSS COMMAND
    root 1 10.0 1.0 100 a
    root 2 5.5 1.0 100 b
    www 3 20.0 1.0 100 c
    

    Đầu ra:

    www 20.0
    root 15.5

    Giải thích:

    root: 10.0+5.5=15.5; www: 20.0. Sắp giảm dần theo tổng nên www trước root.

    Đang tải editor...