PHỤC HỒI DÃY SỐ

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ớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
Tuyển tập đề thi HSG
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Bạn sắp xếp các số từ ~1, 2, ..., n~ một cách tùy ý vào ~n~ vị trí và được dãy số ~P~ (hay còn gọi ~P~ là một hoán vị của các số ~1, 2, ..., n~). Quan sát dãy số ~P~, lần lượt với mỗi giá trị ~i~ ~(i = 1, 2, ..., n)~ An thực hiện ghi lại số các số lớn hơn ~i~ và đứng bên trái ~i~ trong dãy ~P~ và thu được dãy ~T~ gồm ~n~ số, An đưa Thắng dãy ~T~ và yêu cầu phục hồi dãy ~P~ ban đầu từ dãy ~T~ này.

Em hãy lập trình giúp Thắng giải quyết bài toán này.

Dữ liệu vào

  • Dòng đầu chứa số tự nhiên ~N~ ~(1 \le N \le 100)~.

  • Dòng thứ hai chứa ~N~ số tự nhiên mô tả dãy ~T~, các số cách nhau một dấu cách.

Dữ liệu ra

Ghi ra một dãy gồm ~N~ số mô tả dãy ~P~ ban đầu, các số ghi cách nhau một dấu cách.

Ví dụ:

Input
4
2 1 0 0
Output
3 2 1 4
Giải thích
  • Số ~1~ có ~2~ số lớn hơn bên trái ~(3, 4)~.
  • Số ~2~ có ~1~ số lớn hơn bên trái ~(3)~.
  • Số ~3~ không có số lớn hơn bên trái.
  • Số ~4~ không có số lớn hơn bên trái.

Ví dụ 2:

Input
6
5 1 0 1 1 0
Output
3 2 6 4 5 1
Giải thích
  • Số ~1~ có ~5~ số lớn hơn bên trái ~(3, 2, 6, 4, 5)~.
  • Số ~2~ có ~1~ số lớn hơn bên trái ~(3)~.
  • Số ~3~ không có số lớn hơn bên trái.
  • Số ~4~ có ~1~ số lớn hơn bên trái ~(6)~.
  • Số ~5~ có ~1~ số lớn hơn bên trái ~(6)~.
  • Số ~6~ không có số lớn hơn bên trái

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.