Bài 16.1. Sắp Xếp Giao Dịch - [Độ khó: Dễ]


LÀM BÀI

Points: 10 (partial)
Time limit: 2.0s
Memory limit: 64M

Author:
Problem type

Bài 16.1. Sắp Xếp Giao Dịch - [Độ khó: Dễ]

Trong một cửa hàng bán lẻ, hàng ngày có hàng trăm giao dịch được thực hiện. Để phân tích và theo dõi hiệu quả kinh doanh, ban quản lý muốn xem xét các giao dịch theo thứ tự giá trị. Tuy nhiên, nếu có hai giao dịch có cùng giá trị, họ muốn ưu tiên giao dịch nào được ghi nhận với ID nhỏ hơn (ID là duy nhất).

Bạn được yêu cầu viết chương trình giúp sắp xếp danh sách các giao dịch này.

INPUT FORMAT

Dòng đầu tiên chứa một số nguyên dương N (\(1 \le N \le 10^5\)), là tổng số lượng giao dịch. N dòng tiếp theo, mỗi dòng chứa hai số nguyên: IDGIA_TRI.

  • ID: Số nguyên dương (\(1 \le ID \le 10^9\)).
  • GIA_TRI: Số nguyên không âm (\(0 \le GIA\_TRI \le 10^9\)).
OUTPUT FORMAT

In ra N dòng, mỗi dòng là IDGIA_TRI của một giao dịch đã được sắp xếp. Các giá trị trên mỗi dòng được ngăn cách bởi một khoảng trắng. Thứ tự sắp xếp:

  1. Theo GIA_TRI tăng dần.
  2. Nếu GIA_TRI bằng nhau, sắp xếp theo ID tăng dần.
Ví dụ:

Input:

5
101 500
105 200
102 500
103 800
104 200

Output:

104 200
105 200
101 500
102 500
103 800

Giải thích:

  • Các giao dịch ban đầu: (101, 500), (105, 200), (102, 500), (103, 800), (104, 200).
  • Sắp xếp theo GIA_TRI tăng dần:
    • GIA_TRI = 200: (105, 200), (104, 200)
    • GIA_TRI = 500: (101, 500), (102, 500)
    • GIA_TRI = 800: (103, 800)
  • Xử lý các trường hợp GIA_TRI bằng nhau theo ID tăng dần:
    • Trong nhóm GIA_TRI = 200: (104, 200) có ID 104 nhỏ hơn (105, 200) có ID 105. Nên (104, 200) đứng trước.
    • Trong nhóm GIA_TRI = 500: (101, 500) có ID 101 nhỏ hơn (102, 500) có ID 102. Nên (101, 500) đứng trước.
  • Kết quả cuối cùng: (104, 200), (105, 200), (101, 500), (102, 500), (103, 800).


Comments

There are no comments at the moment.

Zalo