Sắp xếp z
Đề bài
Mô tả
Một dãy gồm phần tử được gọi là z-sorted nếu đồng thời thoả mãn hai điều kiện (chỉ số tính từ ):
- với mọi chỉ số chẵn;
- với mọi chỉ số lẻ, .
Nói cách khác, dãy phải đi lên rồi đi xuống xen kẽ:
Ví dụ, các dãy và là z-sorted, còn thì không.
Cho dãy , hãy sắp xếp lại (hoán vị) các phần tử của nó để thu được một dãy z-sorted, hoặc cho biết điều đó là không thể.
Dữ liệu vào
- Dòng đầu chứa số nguyên là số phần tử của dãy .
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
Nếu có thể sắp xếp lại dãy thành một dãy z-sorted, in ra số nguyên cách nhau bởi dấu cách là dãy sau khi sắp xếp. Ngược lại, in ra đúng một từ Impossible.
Nếu có nhiều cách sắp xếp hợp lệ, in ra cách bất kỳ.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 1 3 2 2 5 |
1 3 2 5 2 | Kiểm tra: , , , . Dãy 1 5 2 3 2 cũng hợp lệ và được chấp nhận. |
| 4 1 2 2 1 |
1 2 1 2 | Kiểm tra: , , . |
| 3 100 1 2 |
1 100 2 | Phần tử lớn nhất được đưa vào vị trí chẵn duy nhất. |
Bình luận