COCI '20 Contest 1 #2 Bajka

View as PDF

Submit solution


Points: 7 (partial)
Time limit: 1.0s
Memory limit: 512M

Problem type

Little Fabijan got bored with picture books, so he decided to read his first fairytale. Unfortunately, Fabijan often encounters a word that scares him. To overcome his fear, he will play a game he invented.

The scary word can be represented as an array of n lowercase letters. To start the game, Fabijan puts his finger on some position of the array and writes the letter from that position on a piece of paper. He then performs one of the following moves an arbitrary number of times:

  • He moves the finger to a position that is one place to the left or to the right of the current position, if that position exists. Also, Fabijan will then write the letter from the new position on the paper, after the last written letter.

  • He moves the finger to any position with the same letter as the current one. Fabijan will not write anything on the paper in this case.

It takes him |x - y| seconds to move the finger from position x to position y.

Fabijan will overcome his fear of the word if, at the end of the game, his favourite word is written on the paper. He wants to finish the fairytale as soon as possible, so he asks you to tell him the minimum number of seconds it will take him to overcome his fear of the given scary word.

Input Specification

The first line contains integers n and m (1 \le n, m \le 300).

The second line contains n lowercase letters, the word that scares Fabijan.

The third line contains m lowercase letters, Fabijan's favourite word.

Output Specification

Print the shortest possible time in seconds Fabijan needs to write his favourite word on the paper, or -1 if that is not possible.

Scoring

In test cases worth 20 points, letters in the word that scares Fabijan will be pairwise distinct.

Sample Input 1

2 2
wa
ac

Sample Output 1

-1

Sample Input 2

7 7
monolog
nogolom

Sample Output 2

10

Sample Input 3

14 5
niskoobrazovan
boook

Sample Output 3

5

Explanation for Sample Output 3

Fabijan will first put his finger on position 7 and write down the letter b. He will then move the finger two times to the left, and each time write down the letter o. In the next step, he will move the finger to position 6 using the second type of move. Finally, he will again move the finger two times to the left, and write down the letters o and k. It took him five seconds in total, one second per move.


Comments

There are no comments at the moment.