\(A\) độ dài \(n\). Nhắc lại, một hoán vị độ dài \(n\) là một dãy số mà mỗi số nguyên dương từ \(1\) đến \(n\) đều xuất hiện trong dãy đúng một lần.
có một dãy hoán vịCác bạn có thể chọn cặp số \(i\) và \(j\) khác nhau và đổi chỗ \(A_i\) và \(A_j\). Các bạn được áp dụng thao tác trên đúng 1 lần. Mục đích là cần làm cho giá trị \(S\) sau đạt lớn nhất:
\(S\) = \(\sum A_i * (n+1)^{1 + n - i}\) \(\forall\) \(1 \leq i \leq n\).
Hãy in ra dãy số tối ưu \(A\) sau khi thực hiện thao tác trên đúng một lần. Nếu có nhiều đáp án, các bạn có thể in ra một đáp án bất kì.
Input
Dòng đầu tiên chứa hai số nguyên dương \(n\) là số phần tử của dãy \(A\).
Dòng tiếp theo chứa \(n\) số nguyên dương \(A_i\) biểu thị một phần tử của dãy \(A\).
Dữ liệu đảm bảo dãy
Output
Hãy in ra dãy \(A\) sau khi thực hiện thao tác một cách tối ưu.
Sample Input 1
3
1 2 3
Sample Output 1
3 2 1
Sample Input 2
2
1 2
Sample Output 2
2 1
Giới hạn
-
\(50\)% điểm tương ứng với \(2 \leq n\leq 10\).
-
\(50\)% điểm tương ứng với \(2 \leq n \leq 5000\).
Giải thích
Ở ví dụ 1, các cách thực hiện thao tác là:
- Đổi cặp (1, 2) ta được 2 1 3, tổng \(S\) = \(2*4^2 + 1*4^1 + 3*4^0\) = 39.
- Đổi cặp (2, 3) ta được 1 3 2, tổng \(S\) = \(1*4^2 + 3*4^1 + 2*4^0\) = 30.
- Đổi cặp (1, 3) ta được 3 2 1, tổng \(S\) = \(3*4^2 + 2*4^1 + 1*4^0\) = 57.
Vậy đáp án là [3 2 1].
Ở ví dụ 2, chỉ có một cách đổi là đổi cặp (1, 2). Ta sẽ nhận được dãy [2 1].
Bình luận