[Buổi 16][Sắp xếp & tìm kiếm][HW] Bài 6: Số lớn nhất có thể


LÀM BÀI

Points: 30
Time limit: 1.0s
Memory limit: 20M

Author:
Problem types
Allowed languages
C++

Số lớn nhất có thể

Bối cảnh

Bài toán được mô tả qua yêu cầu và dữ liệu dưới đây.

Yêu cầu

Cho một dãy số có \(N\) phần tử hãy sắp xếp chúng sao cho có giá trị lớn nhất. Ví dụ: nếu các số đã cho là \([54, 546, 548, 60]\) thì cách sắp xếp \(6054854654\) sẽ cho giá trị lớn nhất. Và nếu các số đã cho là \([1, 34, 3, 98, 9, 76, 45, 4]\) thì dãy \(998764543431\) cho giá trị lớn nhất.

Input

Dòng đầu tiên chứa số nguyên \(N\) \((1 \leq N \leq 10^5)\). Dòng tiếp theo chứa \(N\) số nguyên là phần tử dãy đã cho, mỗi số các nhau một dấu cách. Các số nằm trong khoảng từ \([0,10^{18}]\)

Output

In ra kết quả của bài toán.

Ràng buộc

Đề gốc không nêu ràng buộc riêng.

Ví dụ 1

Input

4
54 546 548 60

Output

6054854654
Ví dụ 2

Input

5
3 30 34 5 9

Output

9534330

Giải thích ví dụ

  • Ví dụ: Dãy số là [54, 546, 548, 60]

    • Giải thích: Sắp xếp theo thứ tự để tạo ra số lớn nhất là 6054854654.
  • Ví dụ: Dãy số là [3, 30, 34, 5, 9]

    • Giải thích: Sắp xếp để có số lớn nhất là 9534330.

Thông tin học tập

  • Buổi: B16
  • Concepts: sorting, basic searching
  • Giới hạn kiến thức: B01-B16
  • Time limit: 1 second
  • Memory limit: 20 MB
  • Point: 30

Comments

There are no comments at the moment.

Zalo