Responsive image

问题 B: GCD(max)

问题 B: GCD(max)

时间限制: 1 Sec  内存限制: 128 MB
提交: 0  解决: 40
[提交][状态][讨论版][命题人:]

题目描述

出题人不喜欢数学,所以他决定把这个问题抛给你。
对于一个数组的连续的区间(l,r),如果max(al,al+1,...,ar)=gcd(al,al+1,...,ar),则称这个区间为好区间。

他将给你一个数组,需要求出数组中最长的好区间的长度。

max(al,al+1,...,ar)表示区间(l,r)中的最大元素,gcd(al,al+1,...,ar)表示区间(l,r)中所有元素的最大公因数。

特别的,规定区间的长度为1的max(ai)等于ai本身,区间的长度为1的gcd(ai)等于ai本身。

输入描述

第一行包含一个整数T(1≤T≤1e4),代表样例数量。
接下来为T组样例。每组样例的第一行为一个整数n(1≤n≤5⋅1e5),表述数组的长度。
每组样例的第二行包含n个整数a1,a2,...,an(1≤ai≤1e9),表示他给你的数组。
保证所有样例的n的和不超过5*1e5

输出描述

对于每个样例,输出一个整数ans表示最长的好区间的长度

样例输入

2
2
1 2
2
2 3

样例输出

1
1
[提交][状态]
ACM算法攻关部
  • Anything about this OnlineJudge, Please Contact Administrator. Click add QQ

    OJ system based on HUSTOJ Project , UI based on Twitter Bootstrap

    Copyright 2016 ACM算法攻关部
    关于网站改版