Xâu con dài nhất
Xem dạng PDF
Gửi bài giải
Điểm:
100,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, Python, Rust
Cho xâu ~S~ chỉ chứa các kí tự chữ cái tiếng Anh viết thường. Một xâu con của ~S~ là một dãy các kí tự liên tiếp trong xâu ~S~. Ví dụ, "cd" là một xâu con của "abcde" còn "ac" thì không.
Hãy tính độ dài xâu con dài nhất mà xuất hiện ít nhất hai lần trong ~S~.
Input
Dữ liệu vào từ tệp CAU3.INP:
- Dòng 1: gồm một số nguyên ~N~ (~1 \le N \le 200\,000~) là độ dài của xâu ~S~;
- Dòng 2: gồm ~N~ chữ cái tiếng Anh viết thường mô tả xâu ~S~.
Output
Kết quả ghi ra tệp CAU3.OUT:
- Ghi ra một số nguyên là độ dài xâu con dài nhất xuất hiện ít nhất hai lần trong ~S~. Nếu không có xâu con nào thỏa mãn, in ra số ~0~.
Ví dụ
Ví dụ 1
Input
3
aba
Output
1
Giải thích: Xâu con "a" xuất hiện hai lần. Đây là xâu con dài nhất thỏa mãn.
Ví dụ 2
Input
3
abc
Output
0
Giải thích: Không có xâu con nào xuất hiện ít nhất hai lần trong ~S~.
Ví dụ 3
Input
10
abcabckabc
Output
3
Giải thích: Xâu con "abc" xuất hiện ba lần. Đây là xâu con dài nhất thỏa mãn.
Ví dụ 4
Input
19
chuchucikciklolipop
Output
4
Giải thích: Xâu con "chuc" xuất hiện hai lần. Đây là xâu con dài nhất thỏa mãn.
Giới hạn
- ~1 \le N \le 200\,000~.
- Subtask 1: 20% điểm, ~N \le 3~;
- Subtask 2: 60% điểm, ~N \le 200~;
- Subtask 3: 20% điểm còn lại không có thêm ràng buộc bổ sung.
Đang tải...