1. 程式人生 > >多校第四場一二題

多校第四場一二題

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;
}