CF1089G Guest Student

题目描述

伯兰国立大学欢迎来自世界各地的人们作为访客学生。你可以来到伯兰的首都,与全国最优秀的教师一起学习。 伯兰国立大学每周每天都开放,但访客学生的课程安排如下。你已知一个由七个整数 $a_1, a_2, \dots, a_7$($a_i = 0$ 或 $a_i = 1$)组成的序列: - 当且仅当星期天有访客学生课程时,$a_1=1$; - 当且仅当星期一有访客学生课程时,$a_2=1$; - 以此类推; - 当且仅当星期六有访客学生课程时,$a_7=1$。 每周至少有一天会为访客学生开设课程。 你希望前往伯兰的首都,并以最少的天数在当地学习满 $k$ 天的访客学生课程。请编写程序,计算你需要在首都连续停留的最短天数,以便恰好上满 $k$ 天的访客学生课程。

输入格式

输入的第一行包含一个整数 $t$($1 \le t \le 10\,000$),表示需要处理的测试用例数。对于每个测试用例,独立求解并输出答案。 每个测试用例包含两行。第一行为整数 $k$($1 \le k \le 10^8$),表示需要上课的天数。第二行为恰好七个整数 $a_1, a_2, \dots, a_7$($a_i = 0$ 或 $a_i = 1$),其中 $a_i=1$ 当且仅当一周中的第 $i$ 天有访客学生课程。

输出格式

输出 $t$ 行,第 $i$ 行输出第 $i$ 个测试用例的答案——你需要在首都连续停留的最短天数,以便恰好上满 $k$ 天的访客学生课程。

说明/提示

在第一个测试用例中,你必须在星期一到达伯兰首都,当天上课,然后在当地停留一周直到下一个星期一,并在下一个星期一上课。总共需要在伯兰首都停留 $8$ 天。 由 ChatGPT 4.1 翻译