LCS - Longest Common Substring

no tags 

A string is finite sequence of characters over a non-empty finite set Σ.

In this problem, Σ is the set of lowercase letters.

Substring, also called factor, is a consecutive sequence of characters occurrences at least once in a string.

Now your task is simple, for two given strings, find the length of the longest common substring of them.

Here common substring means a substring of two or more strings.


The input contains exactly two lines, each line consists of no more than 250000 lowercase letters, representing a string.


The length of the longest common substring. If such string doesn't exist, print "0" instead.




Notice: new testcases added

hide comments
artiam_99: 2021-02-26 16:57:55

I like cock.

Last edit: 2021-02-27 02:14:31
treenipples: 2021-02-23 13:59:03

Prefix hash O(nlog^2n) with vector + sorting passed in 0.77s

Last edit: 2021-03-03 23:46:40
sharath1999: 2020-08-04 15:51:03

Suffix automaton worked super quick for me

Lê Thanh Phú: 2020-08-02 10:06:04

Suffix Array O(nlog^2(n)) AC 0.53s

grapo_oranges: 2020-07-07 06:35:02

No need for suffix tree, suffix array is enough to solve this problem, also no need for memory optimization in LCP, it get AC easily.. goodluck O(n log n:)

anhvubg2402: 2020-07-03 10:06:31

dcmm lũ ox chó

fahimcp495: 2019-12-31 08:07:27

finally AC using suffix automaton.

yaswanth: 2019-10-13 20:58:35

Got TLE with Suffix array with storing temp results (partial ordering array). Had to change it to get AC. Too strict of a time limit.

beingbmc: 2019-09-24 12:51:06

NLogN suffix array works with cpp but TLE with Java

mac1309: 2019-07-26 13:30:09

its so bad that suffix array in O(nlog^2n) is giving tle

Added by:Bin Jin
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64 CPP