Vị trí cấm
Đề bài
Mô tả
Cho một xâu gồm chữ cái Latin thường. Một số vị trí trong xâu được đánh dấu là cấm.
Ta muốn tìm một xâu sao cho giá trị là lớn nhất có thể, trong đó:
- là độ dài của xâu .
- là số lần xuất hiện của trong mà vị trí kết thúc của lần xuất hiện đó không phải là vị trí cấm.
Ví dụ, nếu aaaa, aa và vị trí bị cấm, thì : có ba lần xuất hiện của trong (bắt đầu tại các vị trí , , ), nhưng một trong số đó (bắt đầu tại vị trí ) kết thúc tại vị trí cấm nên không được tính.
Hãy tính giá trị lớn nhất có thể.
Dữ liệu vào
- Dòng đầu chứa số nguyên : độ dài của xâu .
- Dòng thứ hai chứa xâu gồm chữ cái Latin thường.
- Dòng thứ ba chứa xâu gồm ký tự 0 và 1. Nếu ký tự thứ của là 1 thì vị trí bị cấm, ngược lại thì không.
Dữ liệu ra
In ra một số nguyên: giá trị lớn nhất có thể.
Ràng buộc
- .
- Các vị trí được đánh số từ đến .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 ababa 00100 |
5 | Vị trí bị cấm. Chọn ababa (độ dài ): xuất hiện đúng lần, kết thúc tại vị trí (không cấm), giá trị . Nếu chọn aba thì một trong hai lần xuất hiện kết thúc tại vị trí cấm , chỉ còn , giá trị . Đáp án là . |
| 5 ababa 00000 |
6 | Không có vị trí cấm. Chọn aba: xuất hiện lần, giá trị . |
| 5 ababa 11111 |
0 | Mọi vị trí đều bị cấm nên mọi lần xuất hiện đều bị loại, với mọi . |
Bình luận