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...