U133833 店主的困惑 (Puzzlement of Merchant)

题目背景

这一天,蒟蒻 aytony 邀请巨佬 XGHDSGSDH 和 谋事在人 一起看番。 “小哥,吃苹果吗?” ![](https://cdn.luogu.com.cn/upload/image_hosting/mnkza0zo.png) “啊?这是哪国货币?这种玩意在卢克尼卡可不能用!” ![](https://cdn.luogu.com.cn/upload/image_hosting/sqr31sme.png) “你丫是个穷光蛋啊。” “这样吧,现在有个难题,让我很是困惑,如果小哥你帮我解决了这个难题,我就送你一袋苹果好了!” 为了让我们可爱的 $486$ 同学吃到苹果,请你解决店主的难题吧!

题目描述

店主开的店铺在店主的经营下愈发扩大,现在,店主的超市已经是 $24$ 小时营业的了。但是很明显店主不可能一个人连续经营 $24$ 小时,所以需要雇佣店员来满足他的需要。 超市每天的不同时段需要不同数目的店员来经营店铺。在这里,一天中的时段以小时为单位,从 1 到 24 表示一天中的 $24$ 个小时。同时,店长会告诉你一天中不同时段至少需要的店员数量 $D_1$ , $D_2$ , $\cdots$ , $D_{24}$ 。其中 $D_i$ 表示第 $i$ 小时至少需要的店员数量。即在第 $i$ 个小时内,工作的店员数必须大于等于 $D_i$ 。 现在,有 $n$ 个人想要应聘店员。其中第 $i$ 个人可以从 $t_i$ 小时开始工作 $8$ 小时。但特殊地,如果在这 $8$ 小时内今天结束了,店员便会工作到第二天。也就是说,店员会在 $t_i$ , $t_{i+1}$ , $\cdots$ , $t_{i+7 \bmod 25}$ 这么多的时间内工作。 店主会给你 $D_i(i = 1, 2, \cdots, 24)$ 和 $t_i(i = 1, 2, \cdots, n)$ ,请你计算店主至少要雇佣多少店员才能维持店铺的营业呢? 另:店主不算店员。即:考虑 $D_i$ 时不必考虑店主的存在。

输入格式

输入存在多组数据。第一行输入数据组数 $T$ 。 对于每组数据: 第一行为 $24$ 个整数表示 $D_i$ 。 第二行为一个整数 $n$ 。 接下来 $n$ 行每行一个整数,表示 $t_i-1$ 。

输出格式

对于每组数据,输出一个整数,表示店主最少雇佣店员数目。 如果不存在可行的雇佣方案,请输出 "No Solution" (不含双引号)。

说明/提示

对于 $10\%$ 的数据,$T = 1$ ,$D_i \leqslant 10$ , $n \leqslant 100$ ; 对于另外 $20\%$ 的数据,$T = 1$ ,$D_i \leqslant 100$ , $n \leqslant 1000$ ; 对于另外 $30\%$ 的数据,$T = 10$ ,$D_i \leqslant 100$ , $n \leqslant 1000$ ; 对于另外 $40\%$ 的数据,时限开到 $2.5s$ 。 对于 $100\%$ 的数据,$1 \leqslant T \leqslant 1000$ , $0 \leqslant D_i \leqslant 1000$ , $0 \leqslant n \leqslant 10000$ , $1 \leqslant t_i \leqslant 24$ 。 由于数据量较大,建议使用读入优化。