Contest 4 1002 Problem Killer【等差等比数列】

来源:互联网 发布:如何培养英语思维 知乎 编辑:程序博客网 时间:2024/05/22 03:48

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5328

#include<iostream>#include<cstdio>using namespace std;long long a[1000010];int main(){    int t,n,i,j,m;    scanf("%d",&t);    while(t--)    {        scanf("%d",&n);        for(i=0;i<n;i++)            scanf("%I64d",&a[i]);        if(n==1) printf("%d\n",1);        else        {        m=2;        i=0;j=2;        while(j<n)        {            if(a[j]+a[j-2]==2*a[j-1]) j++;            else            {                if(j-i>m) m=j-i;                i=j-1;j=i+2;            }        }        if(j-i>m) m=j-i;        i=0;j=2;        while(j<n)        {            if(a[j]*a[j-2]==a[j-1]*a[j-1]) j++;            else            {                if(j-i>m) m=j-i;                i=j-1;j=i+2;            }        }        if(j-i>m) m=j-i;        printf("%d\n",m);        }    }    return 0;}
0 0
原创粉丝点击