#M260923A. 大胃袋(lz)
大胃袋(lz)
题目描述
大胃袋LZ经常去扫荡自助餐厅。他有几个规则:
- 每次去都要吃 种必选菜品
- 每次吃的菜品总量上限为
- 每次每种菜品可以重复吃
给出LZ几次自助餐的菜品总清单,判断这个清单是否合法,如果合法求出吃自助次数的最小、最大值。
输入格式
第一行,一个正整数 ,表示数据组数
每组数据第一行, 个正整数 ,分别表示吃的菜品总种类数、每次吃的数量上限、每次必吃的种类数
接下来 行,每行一个字符串 ,一个正整数 ,表示菜品 总共消耗了 份
接下来 行,每行一个字符串 ,表示每次必吃的菜品
输出格式
行结果,如果清单合法,输出吃自助的最小、最大次数,否则输出 -1
输入输出样例
2
3 5 2
menzi 15
huimian 12
chaofan 4
menzi
huimian
3 5 1
menzi 15
huimian 12
chaofan 4
chaofan
7 12
-1
样例 说明
以下是最小七次自助的一种方案:
- 吃了 1 份 menzi,1 份 huimian、3 份 chaofan;
- 吃了 3 份 menzi,1 份 huimian,1 份 chaofan;
- 吃了 4 份 menzi,1 份 huimian;
- 吃了 1 份 menzi,4 份 huimian;
- 吃了 2 份 menzi,3 份 huimian;
- 吃了 3 份 menzi,1 份 huimian;
- 吃了 1 份 menzi,1 份 huimian;
没有比七次更小的方案
数据范围
$1\le k\le n\le 10^5,1\le p\le 2\times 10^5,1\le a_i\le 2\times 10^5,1\le|s_i|,|t_i|\le 10,1\le q\le 100$
表示字符串长度
相关
在下列比赛中: