Làm trơn trung vị
Đề bài
Mô tả
Cho dãy nhị phân (mỗi phần tử bằng hoặc ). Phép làm trơn trung vị biến dãy thành dãy mới như sau:
- và (phần tử đầu và cuối giữ nguyên).
- Với : bằng trung vị của ba giá trị (giá trị đứng giữa khi sắp xếp ba số theo thứ tự không giảm).
Một dãy gọi là ổn định nếu áp dụng phép làm trơn trung vị lên nó thì dãy không thay đổi.
Hãy xác định xem nếu áp dụng phép làm trơn trung vị lặp đi lặp lại lên dãy thì dãy có trở nên ổn định hay không. Nếu có, hãy in ra số lần áp dụng ít nhất để dãy trở nên ổn định và dãy ổn định thu được. Nếu dãy không bao giờ ổn định, in ra .
Dữ liệu vào
- Dòng đầu chứa số nguyên : độ dài dãy.
- Dòng thứ hai chứa số nguyên ().
Dữ liệu ra
- Nếu dãy không bao giờ ổn định, in ra một số duy nhất .
- Ngược lại, dòng đầu in số lần áp dụng ít nhất để dãy trở nên ổn định; dòng thứ hai in số của dãy ổn định thu được, cách nhau một dấu cách.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 0 0 1 1 |
0 0 0 1 1 |
Dãy đã ổn định ngay từ đầu, không cần áp dụng lần nào. |
| 5 0 1 0 1 0 |
2 0 0 0 0 0 |
Sau lần thứ nhất dãy thành 0 0 1 0 0, sau lần thứ hai thành 0 0 0 0 0 và ổn định. |
| 3 1 0 1 |
1 1 1 1 |
Trung vị của 1, 0, 1 là 1, nên sau một lần dãy thành 1 1 1. |
Bình luận