Problem Killer(水题)

HDU 5328(2015多校4)-Problem Killer(水题)

分类:HDU oj水题

题目地址:HDU 5328 题意:在一个长度为n的序列中取出连续的k个数,让这k个数组成等差数列或者等比数列,问这样的k最大可以是多少。 Ps:注意用double搞,因为等比数列求公比相除可能为小数。

;LL;const int inf=0x3f3f3f3f;const double pi= acos(-1.0);const double esp=1e-6;const int maxn=1e6+10;double a[maxn];int main(){int T,n,i;double d,q;int ans;int l,r;scanf(“%d”,&T);while(T–){scanf(“%d”,&n);for(i=0;i<n;i++)scanf(“%lf”,&a[i]);if(n==1){puts(“1”);continue;}d=a[1]-a[0];q=a[1]/a[0];l=r=ans=2;for(i=2;i<n;i++){if(a[i]-a[i-1]==d)l++;else{d=a[i]-a[i-1];ans=max(ans,l);l=2;}if(a[i]/a[i-1]==q)r++;else{q=a[i]/a[i-1];ans=max(ans,r);r=2;}}ans=max(ans,max(l,r));printf(“%d\n”,ans);}return 0;}

版权声明:本文为博主原创文章,未经博主允许不得转载。

上一篇HDU 5327(2015多校4)-Olympiad(水题)下一篇HDU 5336(2015多校4)-XYZ and Drops(bfs)

顶1踩0

,谁的指间滑过了千年时光;谁在反反复复中追问可曾遗忘;

Problem Killer(水题)

相关文章:

你感兴趣的文章:

标签云: