import java.util.Arrays; import java.util.Scanner; public class Question1 { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] a = new int[n]; for(int a_i=0; a_i < n; a_i++){ a[a_i] = in.nextInt(); } Arrays.sort(a); getMax(a); } private static void getMax(int[] a) { // TODO Auto-generated method stub int max = 1; for (int i = 0; i < a.length; i++) { int tempMax=1; int leftMax, rightMax; int leftIndex=i-1; int rightIndex=i+1; for (int j = i-1; j >=0; j--) {//get leftIndex if (a[i]-a[j]==0) { tempMax++; leftIndex--; }else{ break; } } for (int j = i+1; j < a.length; j++) {////get rightIndex if (a[j]-a[i]==0) { tempMax++; rightIndex++; }else{ break; } } leftMax = tempMax; rightMax = tempMax; //System.out.println("init:"+tempMax); //System.out.println(leftIndex+" "+rightIndex); for (int j = leftIndex; j >=0; j--) {//left if (a[i]-a[j]<=1) { leftMax++; }else{ break; } } for (int j = rightIndex; j < a.length; j++) {//right if (a[j]-a[i]<=1) { rightMax++; }else{ break; } } //System.out.println(leftMax+" "+rightMax); tempMax = leftMax>rightMax?leftMax:rightMax; max = max>tempMax?max:tempMax; } System.out.println(max); } }