#include <iostream>
#include <string.h>
#include <algorithm>
#include <vector>
using namespace std;
int a[100005];
int ha[1000005];
//int ans[5005];
int main()
{
ios::sync_with_stdio(0);
int n;
cin >> n;
int ans = 1;
for(int i = 0;i < n;i++){
cin >> a[i];
ha[a[i]]++;
ans = max(ans,ha[a[i]]);
}
sort(a,a+n);
n = unique(a,a+n) - a;
for(int i = 0;i < n;i++){
for(int j = i+1;j < n;j++){
int d = a[j] - a[i];
if(a[i] + (ans - 1) * d > a[n-1]) continue;
int cnt = 2;
while( a[i] + cnt * d <= a[n-1] && ha[a[i] + cnt* d ]){
cnt++;
}
ans = max(ans,cnt);
}
}
cout << ans << endl;
return 0;
}
注意去重操作