LCS2 - Longest Common Substring II

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 a bit harder, for some given strings, find the length of the longest common substring of them.

Here common substring means a substring of all the considered strings.


The input contains at most 10 lines, each line consists of no more than 100000 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
Leandro Vianna: 2020-11-28 22:42:25

I got TLE with gcc but AC with clang. O(n lg n).

ablondal: 2020-08-25 21:03:02

Solved with O(nlogn) suffix array and O(nlogn) post-processing, but only using clang compiler, got TLE with gcc...

Last edit: 2020-08-25 21:03:38
shefin: 2019-05-22 00:23:50

AC with O(n) Suffix Array. Time limit is so strict. Any extra log factor while traversing the LCP array gives TLE. I've used a deque while traversing the LCP array for finding the ans.

harolinch: 2018-07-29 10:26:13

time limit is bullshit, comon, increase it some

Last edit: 2018-07-29 10:26:45
xzy: 2018-06-15 16:01:31

Can I use "while(scanf("%s",ch))!=EOF)" for input?
It was always TLE...

edgration: 2018-06-04 05:14:30

WA on #10, because I forget to update information on the parent tree

Last edit: 2018-06-04 05:26:37
centaurus99: 2018-04-13 11:07:43

Last edit: 2018-04-13 11:13:29
shadyqwq: 2018-01-05 09:14:05

[Removed] Nevermind...

Last edit: 2018-01-05 09:15:51
zahisho: 2017-11-03 20:19:21

never mind, submitted, passed until 10 and TLE

zahisho: 2017-11-03 20:04:16

why in the test case the answer is 2?
in second and third line there is the substring "ajf" of length 3!!!!

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