Khôi Phục Mảng
Đề bài
Mô tả
Ban đầu có một mảng gồm số nguyên, các vị trí được đánh số từ đến .
Người ta thực hiện đúng truy vấn lên mảng. Tại truy vấn thứ (theo thứ tự ), người ta chọn một đoạn với rồi gán tất cả các phần tử ở vị trí từ đến thành giá trị . Thứ tự các truy vấn là cố định và mọi vị trí từ đến đều được phủ bởi ít nhất một đoạn.
Sau khi thực hiện xong các truy vấn, người ta chọn một tập hợp vị trí (có thể rỗng) và thay giá trị tại các vị trí đó bằng . Kết quả thu được là mảng mà bạn nhận được. Một giá trị nghĩa là phần tử tại vị trí đó đã bị che và có thể là một số nguyên bất kỳ thuộc .
Hãy kiểm tra xem có tồn tại một cách chọn các đoạn thỏa mãn các điều kiện trên sao cho mảng kết quả khớp với (nghĩa là các vị trí khác trong đều có giá trị đúng như mô tả) hay không. Nếu có, hãy in ra một mảng hợp lệ.
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 YES nếu tồn tại mảng hợp lệ, sau đó ở dòng thứ hai in ra số nguyên là một mảng hợp lệ (các giá trị thuộc và khớp với mọi vị trí khác trong ).
Nếu không có mảng nào hợp lệ, in ra NO.
Nếu có nhiều mảng hợp lệ, in ra một mảng bất kỳ.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 3 1 0 2 3 |
YES 1 1 2 3 |
Có thể thay bằng (hoặc ), nhưng không thể thay bằng vì khi đó giá trị ở vị trí 3 sẽ kẹp giữa hai . |
| 3 10 10 10 10 |
YES 10 10 10 |
Chín truy vấn đầu có thể đặt vào bất kỳ đoạn nào; truy vấn phủ toàn bộ . |
| 5 6 6 5 6 2 2 |
NO | Giá trị kẹp giữa hai số , nên truy vấn phải thực hiện trước truy vấn — nhưng khi đó truy vấn sẽ phá huỷ giá trị . |
| 3 5 0 0 0 |
YES 5 5 5 |
Có nhiều mảng hợp lệ. |
Bình luận