Khôi phục hoán vị từ dãy B
Đề bài
Mô tả
Cho một hoán vị của số nguyên đầu tiên và một số nguyên dương .
Với mỗi giá trị (từ đến ), ký hiệu là số phần tử đứng bên trái vị trí của giá trị trong (tức nằm trước phần tử có giá trị bằng ) sao cho .
Ví dụ, nếu và thì với ta có .
Bạn được cho , và dãy . Hãy khôi phục lại hoán vị có thứ tự từ điển nhỏ nhất sinh ra dãy đã cho. Dữ liệu đảm bảo luôn tồn tại ít nhất một hoán vị thỏa mãn.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
- In ra trên một dòng số nguyên là hoán vị có thứ tự từ điển nhỏ nhất thỏa mãn.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 2 1 2 1 0 0 |
4 1 5 2 3 | Với : giá trị ở vị trí , bên trái có nên . Giá trị ở vị trí , bên trái có nên . Tương tự , . Đây là hoán vị nhỏ nhất theo thứ tự từ điển. |
| 4 2 1 0 0 0 |
2 3 1 4 | Giá trị ở vị trí , bên trái có nên ; các giá trị còn lại đều có . |
Bình luận