#include #include #include #include #include #include #include int cmpfunc (const void * a, const void * b) { return (*(int*)a - *(int*)b); } int main() { int n; scanf("%d", &n); int *a = malloc(sizeof(int) * n); for(int a_i = 0; a_i < n; a_i++){ scanf("%d", &a[a_i]); } qsort(a, n, sizeof(int), cmpfunc); int max = 0, cnt = 0; int diff, start = a[0]; for (int i = 1; i < n; i++) { diff = (start - a[i]); if (diff < 0) { diff *= -1; } if (diff <= 1) { cnt++; if (cnt > max) { max = cnt; } } else { start = a[i]; if (cnt > max) { max = cnt; } cnt = 0; } } printf("%d", max + 1); return 0; }