[CSES 2402] Two Stacks Sorting

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python

Cho một danh sách đầu vào gồm ~n~ số. Mỗi số nguyên từ ~1~ đến ~n~ xuất hiện đúng một lần trong danh sách.

Nhiệm vụ của bạn là tạo một danh sách đầu ra đã được sắp xếp bằng cách sử dụng hai ngăn xếp. Mỗi lượt, bạn có thể thực hiện một trong các thao tác sau:

  • Di chuyển số đầu tiên từ danh sách đầu vào vào một ngăn xếp
  • Di chuyển một số từ một ngăn xếp đến cuối danh sách đầu ra

Dữ liệu vào

Dòng đầu tiên chứa một số nguyên ~n~.

Dòng thứ hai chứa ~n~ số nguyên: nội dung của danh sách đầu vào.

Kết quả

In ra ~n~ số nguyên: với mỗi số, in ra ngăn xếp mà nó được di chuyển vào (~1~ hoặc ~2~).

Bạn có thể in ra bất kỳ phương án hợp lệ nào. Nếu không có phương án nào, in ra IMPOSSIBLE.

Giới hạn

  • ~1 \le n \le 2 \cdot 10^5~

Ví dụ

Dữ liệu vào:

5
2 3 1 5 4

Kết quả:

1 2 1 1 2

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.