某天星哥来到了食堂干饭,他喜欢吃的菜有N种,如果打的菜是他喜欢吃的,那么他会把它吃完,而如果不是很喜欢的菜,那么会吃剩下一些,今天他准备打M个不同的菜,每个打菜窗口有K道菜,一共有L个窗口,星哥只想在一个窗口打M个不同的菜,请问星哥可以贯彻光盘行动吗(即判断是否存在一个窗口有M种星哥喜欢的菜),如果可以,请输出最小的窗口号(窗口号用非负整数表示,由0开始计数),否则输出-1。
食堂里的每道菜用一个非负整数来表示,最多有32种菜,从0开始计数
0 < M <= k, N < 32
1 < L < 1024
输入
第一行给出窗口数L和每个窗口里菜的数目K
接下来有L行,每一行有K个整数,按顺序给出L个窗口所拥有的菜
接下来的一行给出星哥喜欢吃的菜的种数N和他准备打的菜数M
接下来一行有M个数,代表星哥喜欢的菜
输出
输出一个数,代表窗口号,-1则代表不存在满足条件的窗口号
样例
标准输入 复制文本 |
3 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 7 3 1 2 6 7 8 9 11 |
标准输出 复制文本 |
1 |
标准输入 复制文本 |
3 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 3 1 2 6 7 11 12 |
标准输出 复制文本 |
-1 |
标准输入 复制文本 |
3 5 10 6 7 9 8 1 1 1 1 1 6 1 8 2 1 6 5 7 9 6 10 8 1 |
标准输出 复制文本 |
0 |
提示
在样例1中,星哥可以在窗口1打到6,7,8这三道喜欢的菜。
在样例2中,每个窗口只有星哥喜欢的两道菜,打不到三种菜,返回-1。
在样例3中,星哥可以在窗口0打到6,7,8,9,10这五道菜。
来源
inhow