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] Tổng kích thước theo loại file

    Cho danh sách file, mỗi dòng <kích_thước> <tên_file>. Tên file có phần mở rộng sau dấu chấm cuối cùng (ví dụ report.csv → csv). Hãy tính tổng kích thước theo từng loại (phần mở rộng) và in <loại> <tổng>.

    Sắp xếp: tổng giảm dần; nếu bằng nhau thì loại tăng dần theo LC_ALL=C. Giả định mọi tên file đều có ít nhất một dấu chấm.

    Ví dụ I/O:

    Input:
    100 a.txt
    200 b.csv
    50 c.txt
    
    Output:
    csv 200
    txt 150
    
    • Định dạng đầu vào:

      Mỗi dòng <kích_thước> <tên_file>, hai trường cách bằng khoảng trắng. Kích thước là số nguyên không âm.

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

      1 ≤ số dòng ≤ 100000.

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

      Mỗi dòng <loại> <tổng>. Sắp tổng giảm dần, tie-break loại tăng dần (LC_ALL=C).

    Ví dụ:

    Đầu vào:

    100 a.txt
    200 b.csv
    50 c.txt
    

    Đầu ra:

    csv 200
    txt 150

    Giải thích:

    txt: 100+50=150; csv: 200. Sắp giảm dần nên csv trước.

    Đang tải editor...