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

Ghi ra tệp CAU3.OUT 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~; xâu ~S~ chỉ gồm các chữ cái tiếng Anh viết thường.
  • Subtask 1 (20% số điểm): ~N \le 3~.
  • Subtask 2 (60% số điểm): ~N \le 200~.
  • Subtask 3 (20% số điểm còn lại): không có thêm ràng buộc bổ sung.

Đang tải...