[Beginner Free Contest 22] PERLIS
Xem dạng PDFCho hai dãy ~A~ và ~B~ gồm ~N~ phần tử. Bao gồm:
Dãy ~A~: ~A_1, A_2, A_3, \ldots , A_N~ là một hoán vị của các số nguyên liên tiếp từ ~1~ đến ~N~. Phần tử thứ ~i~ của dãy được gọi là ~A_i~.
Dãy ~B~: ~B_1, B_2, \ldots , B_N~. Trong đó, ~B_i~ là số lượng phần tử của dãy con tăng dài nhất bắt đầu từ phần tử thứ ~i~ của dãy ~A~ cho trước.
Yêu cầu: cho dãy ~B~, hãy tìm lại dãy ~A~. Nếu có nhiều dãy ~A~ thỏa mãn, tìm ra dãy ~A~ có thứ tự từ điển nhỏ nhất.
Dữ liệu
Dòng đầu tiên chứa số nguyên dương ~N~.
Dòng tiếp theo chứa ~N~ số ~B_1, B_2, \ldots , B_N~.
Kết quả
- In ra ~N~ số ~A_1, A_2, \ldots , A_N~ là hoán vị các số từ ~1~ đến ~N~ thỏa mãn yêu cầu đề bài.
Ví dụ
Sample Input 1
4
1 2 2 1
Sample Output 1
4 2 1 3
Sample Input 2
5
5 4 3 2 1
Sample Output 2
1 2 3 4 5
Giải thích
Với ví dụ thứ nhất:
Dãy con tăng dài nhất bắt đầu từ phần tử thứ ~4~ là ~[3]~. Do đó, ~B_4 = 1~.
Dãy con tăng dài nhất bắt đầu từ phần tử thứ ~3~ là ~[1, 3]~. Do đó, ~B_3 = 2~.
Dãy con tăng dài nhất bắt đầu từ phần tử thứ ~2~ là ~[2, 3]~. Do đó, ~B_2 = 2~.
Dãy con tăng dài nhất bắt đầu từ phần tử thứ ~1~ là ~[1]~. Do đó, ~B_1 = 1~.
Với ví dụ thứ hai:
Dãy con tăng dài nhất bắt đầu từ phần tử thứ ~5~ là ~[5]~. Do đó, ~B_5 = 1~.
Dãy con tăng dài nhất bắt đầu từ phần tử thứ ~4~ là ~[4, 5]~. Do đó, ~B_4 = 2~.
Dãy con tăng dài nhất bắt đầu từ phần tử thứ ~3~ là ~[3, 4, 5]~. Do đó, ~B_3 = 3~.
Dãy con tăng dài nhất bắt đầu từ phần tử thứ ~2~ là ~[2, 3, 4, 5]~. Do đó, ~B_2 = 4~.
Dãy con tăng dài nhất bắt đầu từ phần tử thứ ~1~ là ~[1, 2, 3, 4, 5]~. Do đó, ~B_1 = 5~.
Giới hạn
Trong tất cả các test, ~1 \le B_i \le N~.
Subtask 1 (30%): ~1 \le N \le 10~.
Subtask 2 (70%): ~1 \le N \le 10^5~.
Bình luận