/ WHOJ / 题库 /

编辑

编辑

题目描述

Smart 在批改作业的时候发现大家的提交的文件名都很不规范,这让他很头疼。作为一个强迫症患者,他决定手动规范大家的文件名。但是有些人的文件名特别长,他想要知道最少需要修改多少次才能够使得字符串 \(A\) 变成字符串 \(B\)。当然对于修改代价超过 \(K\) 的文件名我们会选择放弃。

存在这么两种修改操作:

\(1\). 在第 \(i\) 个位置插入一个字符 \(c\):\(S_{i-1},S_i,S_{i+1}\) ⇒ \(S_{i-1}, c, S_i,S_{i+1}\);

\(2\). 删除第 \(i\) 个位置的字符:\(S_{i-1},S_i,S_{i+1}\) ⇒ \(S_{i-1},S_{i+1}\)。

格式

输入格式

第一行包含三个整数 \(n,m,K\),分别表示原始串\(A\)的长度,目标串\(B\)的长度和限制的最大修改次数。

接下来 \(2\) 行,分别包含原始字符串 \(A\) 和目标字符串 \(B\)。

输出格式

输出一行,如果最小修改次数小于等于 \(K\),则输出最少修改次数,不然输出 \(-1\)。

样例1

样例输入1

3 4 2
bee
beef

样例输出1

1

限制

对于全部数据:\(0 ≤ n,m ≤ 500000,0 ≤ K ≤100\)。字符串中只包含小写字母。