比赛 20160923 评测结果 WEWEEEEEEE
题目名称 最长数列 最终得分 0
用户昵称 iortheir 运行时间 1.013 s
代码语言 C++ 内存使用 0.32 MiB
提交时间 2016-09-23 21:53:48
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>

using namespace std;

const int maxn=100+10;

int A[maxn];
int t;
int n;
int ans1[maxn*2];
int ans2[maxn*2];
int ans3[maxn*3];

int kount =0;
int kount1 =0;
int kount2 =0;

int h[4];

inline int cmp(int a,int b)
{
	return a>b;
}

inline int solve1()
{
	for(int i=1;i<=n;++i)
	{
		ans1[i]=(A[i+1]-A[i]);
		if(ans1[i]==ans1[i+1])
		{
			kount++;
		}
		else
		{
			kount=1;
		}
	}
	return kount;
}

/*
inline int solve1()
{
	for(int i=1;i<=n;++i)
	{
		for(int j=i;j<=n;++j)
		{
			(A[j]-A[i])=ans1[i];
			if(ans1[i]=ans1[j]);
		}
	}
}
*/

inline int solve2()
{
	for(int i=1;i<=n;++i)
	{
		//(A[i]/A[i-1])=ans2[i];
		ans2[i]=(A[i+1]/A[i]);
		if(ans2[i]==ans2[i+1])
		{
			kount1++;
		}
		else
		{
			kount1=1;
		}
	}
	return kount1;
}

inline int solve3()
{
	for(int i=1;i<=n;++i)
	{
		ans3[i]=A[i+1]/A[i];
		//(A[i]/A[i-1]=ans3[i])
		{
			if(ans3[i]==A[i])
			{
				kount2++;
			}
			else
			{
				kount2=1;
			}
		}
	}
	return kount2;
}

int main()
{
	freopen("series.in","r",stdin);
	freopen("series.out","w",stdout);
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d",&n);
		for(int i=1;i<=n;++i)
		{
			scanf("%d",&A[i]);
		}
		h[1]=solve1();
		h[2]=solve2();
		h[3]=solve3();
		sort(h+1,h+1+2,cmp);
		cout<<h[1]<<endl;
	}
	return 0;
}
//智硬 枚的连续 应该全w--