多校第四場一二題
阿新 • • 發佈:2019-01-27
A Olympiad http://acm.hust.edu.cn/vjudge/contest/view.action?cid=85242#problem/A
水題,預處理F【i]
B Problem Killer http://acm.hust.edu.cn/vjudge/contest/view.action?cid=85242#problem/B
水題,邊輸入邊處理,遍歷一遍
#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <string>
#include <queue>
#include <vector>
#include<cstdio>
using namespace std;
int n;
#define maxn 1000006
long long a[maxn];
int main()
{
intt; cin>> t;
while(t--)
{
scanf("%d",&n);
if(n==1)
{
scanf("%I64d",&a[0]);
puts("1");
}
else
{
scanf("%I64d%I64d",&a[0],&a[1]);
int p1,p2=a[1]-a[0];
double q1,q2(double)a[1]/a[0];
longlongsum1=0,sum2=2,sum3=0,sum4=2;
for(int i=2;i<n;i++)
{
p1=p2;
scanf("%I64d",&a[i]);
p2=a[i]-a[i-1];
if (p1==p2)sum2++;
else{
sum1=max(sum1,sum2);
sum2=2;
}
q1=q2;
q2(double)a[i]/a[i1];
if(q1==q2)sum4++;
else{
sum3=max(sum3,sum4); sum4=2;
}
}
sum3=max(sum3,sum4);sum1=max(sum1,sum2);
printf("%d\n",max(sum1,sum3));
}
}
return0;
}