#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<long long> a(n);
for (int i = 0; i < n; ++i) cin >> a[i];
unordered_map<long long, int> first; // 记录每个值第一次出现的下标
long long ans = 0; // 最多能删除的元素个数
for (int i = 0; i < n; ++i) {
auto it = first.find(a[i]);
if (it == first.end()) {
first[a[i]] = i; // 第一次出现
} else {
// 当前与最早出现的一对能删除的数量
ans = max(ans, 1LL * i - it->second - 1);
}
}
cout << ans << '\n';
return 0;
}

京公网安备 11010502036488号