#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define I64 long long int #define INF 0x7f7f7f7f #define PII pair #define PLL pair #define PDD pair #define PSI pair #define PIS pair #define PSS pair #define MII map #define MLL map #define MDD map #define MSI map #define MIS map #define MSS map #define VI vector #define VS vector #define QI queue #define QS queue #define SI stack #define SS stack #define pb push_back #define pob pop_back #define mp make_pair #define IT iterator #define ff first #define ss second #define SET(a, b) memset( a, b, sizeof (a) ) #define READ(f) freopen(f, "r", stdin) #define WRITE(f) freopen(f, "w", stdout) #define IAMHERE cout << "YES\n"; #define DEBUG(a, b) cout << a << ": " << b << "\n"; #define SIZE 1000 #define MAX 2000 #define EPS 1e-9 #define PI 2*acos(0.0) int a[MAX]; int main() { //READ("in.txt"); //WRITE("out.txt"); int Case=1; int n, m, k; char dump[2]; //int tc; scanf("%d", &tc); while (cin >> n) { for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } sort(a, a + n); vector v; int ans = 0; for (int i = 0; i < n; i++) { v.push_back(a[i]); for (int j = i + 1; j < n; j++) { bool flag = true; for (int k = 0; flag && k < v.size(); k++) { if (abs(a[j] - v[k]) > 1) { flag = false; } } if (flag) v.push_back(a[j]); } ans = max(ans, (int)(v.size())); v.clear(); } cout << ans << "\n"; } return 0; }