#F. 跳跃的青蛙

    Type: Default 1000ms 256MiB

跳跃的青蛙

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

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

2023 C23本部测试 - 1

Not Attended
Status
Done
Rule
IOI
Problem
7
Start at
2023-10-14 14:00
End at
2023-10-14 17:00
Duration
3 hour(s)
Host
Partic.
17