Result: Accepted
Time: 7ms
Memory: 1140kB
#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;
}