107. 华为OD-最小矩阵宽度(200分)

难度 3
  • 标签:
  • 华为OD真题200分题型
题目描述
题解
题库

华为OD-最小矩阵宽度(200分)

题目内容

给定一个矩阵,包含 N×MN \times M 个整数,和一个包含 KK 个整数的数组。

现在要求在这个矩阵中找一个宽度最小的子矩阵,要求子矩阵包含数组中所有的整数。

输入描述

第一行输入两个正整数 NNMM,表示矩阵大小。

接下来 NNMM 列表示矩阵内容。

下一行包含一个正整数 KK

下一行包含 KK 个整数,表示所需包含的数组,KK 个整数可能存在重复数字。

所有输入数据小于 10001000

输出描述

输出包含一个整数,表示满足要求子矩阵的最小宽度,若找不到,输出 1-1

样例1

输入

2 5
1 2 2 3 1
2 3 2 3 2
3
1 2 3

输出

2

说明

矩阵第 0033 列包含了 112233,矩阵第 3344 列包含了 112233

样例2

输入

2 5
1 2 2 3 1
1 3 2 3 4
3
1 1 4

输出

5

说明

矩阵第 1122334455 列包含了 111144