Solutions of Maximum value arrangement - MarisaOJ: Marisa Online Judge

Solutions of Maximum value arrangement

Select solution language

Write solution here.


User Avatar ThanhDungxX    Created at    1 likes

## Ý tưởng Để tạo ra số lớn nhất bằng cách ghép các phần tử trong mảng, ta cần sắp xếp các số sao cho: Nếu $a + b > b + a$ thì `a` nên đứng trước `b`. Ví dụ với `A = [23, 12, 6]`, ta xét chuỗi: - "6" + "23" = "623" - "23" + "6" = "236" → Chọn "6" đứng trước "23". ### Thuật toán: 1. Chuyển tất cả số sang dạng chuỗi. 2. Sắp xếp giảm dần theo khóa `x * 10` để so sánh như chuỗi dài. 3. Ghép tất cả chuỗi lại. ### (Python): ```python n = int(input()) A = input().split() A.sort(key=lambda x: x * 10, reverse=True) kq = ''.join(A) print(kq)