HashSet & 双指针
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n;
int a[N];
int main(){
memset(a, 0x00, sizeof a);
cin>>n;
for(int i=0; i<n; ++i) cin>>a[i];
unordered_set<int> REC;
int j=0;
int res=0;
for(int i=0; i<n; ++i){
while(REC.find(a[i])!=REC.end()){
REC.erase(a[j]);
j++;
}
REC.insert(a[i]);
res=max((int)REC.size(), res);
}
cout<<res<<endl;
return 0;
}