public class GetFurthestDistanceOfBlocks {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = Integer.parseInt(scanner.nextLine());
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = Integer.parseInt(scanner.nextLine());
}
int maxDis = -1;
// 可使用map结构,key为每块积木数字,value为每块积木对应nums数组下标
Map<Integer, Integer> numMap = new HashMap<>();
for (int i = 0; i < n; i++) {
if (numMap.containsKey(nums[i])) {
// 获取相同数字最大下标距离
maxDis = Math.max(maxDis, i - numMap.get(nums[i]));
} else {
numMap.put(nums[i], i);
}
}
System.out.println(maxDis);
}
}