Dãy nén
Đề bài
Mô tả
Cho hai dãy số và , mỗi dãy gồm phần tử. Từ chúng ta xây dựng dãy với . Biết rằng tất cả các phần tử của dãy và đều nằm trong đoạn , và tất cả các phần tử của dãy đều phân biệt.
Với một dãy gồm số phân biệt, ta định nghĩa dãy nén của nó như sau: bằng số lượng phần tử của nhỏ hơn hoặc bằng . Nói cách khác, là thứ hạng của khi sắp xếp tăng dần. Vì các phần tử của đôi một khác nhau nên là một hoán vị của .
Cho dãy và dãy nén . Hãy tìm một dãy bất kỳ sao cho với mọi , và dãy nén của (với ) đúng bằng . Nếu không tồn tại dãy như vậy, in ra .
Dữ liệu vào
- Dòng đầu chứa ba số nguyên , , .
- Dòng thứ hai chứa số nguyên ().
- Dòng thứ ba chứa số nguyên phân biệt (), là dãy nén của .
Dữ liệu ra
- Nếu không tồn tại dãy phù hợp, in ra một dòng chứa .
- Ngược lại, in ra số nguyên là các phần tử của một dãy thỏa mãn. Nếu có nhiều đáp án, in ra bất kỳ đáp án nào.
Ràng buộc
- là một hoán vị của
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 1 5 1 1 1 1 1 3 1 5 4 2 |
3 1 5 4 2 | Với ta có , dãy nén là đúng bằng . |
| 4 2 9 3 4 8 9 3 2 1 4 |
2 2 2 9 | , dãy nén là . Đáp án khác vẫn được chấp nhận. |
| 6 1 5 1 1 1 1 1 1 2 3 5 4 1 6 |
-1 | Không có cách chọn trong để 6 giá trị phân biệt có dãy nén . |
Bình luận