#A1427. 跳跃的青蛙

跳跃的青蛙

题目描述

Alice和Bob正在观察一群青蛙,编号从11nn,它们最初都在坐标00处。青蛙i可以一次性跳跃aia_i个单位。

每秒钟,青蛙ii向前跳跃aia_i个单位。在青蛙开始跳跃之前,Alice和Bob可以在某个坐标上放置一个陷阱,以便捕捉所有跳到相应坐标的青蛙。

然而,Alice和Bob不能离开家太远,所以他们只能在前nn个点(即坐标在11nn之间)放置陷阱,而且他们害怕青蛙,所以不能在坐标00处放置陷阱。

你能帮助Alice和Bob找出他们可以使用一个陷阱,最多可以捕捉的青蛙数吗?

输入格式

第一行包含一个整数tt,表示测试用例的数量。

每个测试用例的第一行包含一个正整数nn,表示青蛙的数量,也等于Alice和Bob可以放置陷阱的距离。

每个测试用例的第二行包含nn个以空格分隔的正整数aia_i,表示对应青蛙的跳跃长度。

输出格式

对于每个测试用例,输出一个整数,表示Alice和Bob使用一个陷阱最多可以捕捉到的青蛙数。

7
5
1 2 3 4 5
3
2 2 2
6
3 1 3 4 9 10
9
1 3 2 4 2 3 7 8 5
1
10
8
7 11 6 8 12 4 4 8
10
9 11 9 12 1 7 2 5 8 10
3
3
3
5
0
4
4

提示

【样例解释】

第一个测试用例中,青蛙的跳跃情况如下:

  • 青蛙1:0→1→2→3→4→⋯
  • 青蛙2:0→2→4→6→8→⋯
  • 青蛙3:0→3→6→9→12→⋯
  • 青蛙4:0→4→8→12→16→⋯
  • 青蛙5:0→5→10→15→20→⋯

因此,如果Alice和Bob在坐标4处放置一个陷阱,他们可以捕捉到三只青蛙:青蛙1、2和4。可以证明他们无法再捕捉到更多的青蛙。

第二个测试用例中,Slavic和Mihai可以在坐标2处放置一个陷阱,并立即捕捉到所有三只青蛙。

【数据范围】

对于20%20\%的数据,保证t100,n10,1ai109t\leq100,n\leq 10,1\leq a_i \leq 10^9

对于40%40\%的数据,保证t100,n102,1ai109t\leq100,n\leq 10^2,1\leq a_i \leq 10^9

对于60%60\%的数据,保证t100,n103,1ai109t\leq100,n\leq 10^3,1\leq a_i \leq 10^9

对于100%100\%的数据,保证t100,n2105,1ai109t\leq100,n\leq 2\cdot10^5,1\leq a_i \leq 10^9,同时保证每一个测试点中 nn的总和不超过 21052\cdot10^5