Start: Jan, 08, 2019 19:01:00
2018年秋季学期程序设计基础(C语言)期末考试
End: Jan, 08, 2019 21:46:00
Time elapsed:
Time remaining:

Problem_ID: I
Result: Accepted
Time: 7ms
Memory: 1140kB
In contest: 1258

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#define max(a,b) (a>b?a:b)
#define min(a,b) (a>b?b:a)

int peo[110];
int dp[110][110]={0};
int cmp(int* a,int* b)
{
	return *a-*b;
}
int main()
{
	int n;
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	{
		scanf("%d",peo+i);
	}
	int max=2;
	qsort(peo,n,sizeof(int),cmp);
	for(int i=0;i<n;i++)
	{
		for(int j=i+1;j<n;j++)
		{
			dp[i][j]=2;
			int interval=peo[j]-peo[i];
			int p=j;
			for(int k=j+1;k<n;k++)
			{
				if(peo[k]-peo[p]==interval)
				{
					dp[i][j]++;
					if(dp[i][j]>max)max=dp[i][j];
					p=k;
				}else if(peo[k]-peo[p]>interval)break;
			}
		}
	}
	printf("%d\n",max);
	return 0;
}