Time Limit: 1s
Memory Limit: 128MB
xiaoY is a cute boy, he is addicted in the English words. Today he invents a game called "Finding the best common K”. Here is the way how the game works:
First, xiaoY lists N words he wants to play with:
so-nice (the phrase, We ensure that the words in the phrase will be connected by a '-')
Then, xiaoY gives a misspell word. Your task is to minimize K such that every word’s first K letters have at least a D-consecutive common part with the misspell word. (D-consecutive common part means a consecutive common part whose length is D).
Just like the case:
Misspell word: canice D=3
As you see, Common ("canadi", canice) = "can" >=3; //first 6 letter of canadian!
Common ("cancel", canice) = "can" >=3;
Common ("so-nic", canice) ="nic">=3;
So the minimum K that satisfies this case is 6!
If you can't find K that satisfies the rules, then just output "-1"!
N (0<N<=10) D (0<D<=100 )
N words followed (0<each word's length<=100)
Misspell word (0<length<=100)
0 0 indicates the end.
The minimum K or -1
3 3 canadian canceled so-nice canice 0 0