普及3班第一课练习T3样例未过求调

题面

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a[200005],maxx,b,f,s;
map<int,int>mp;
signed main(){
	cin>>n;
	for(int i=1;i<=n;i++) cin>>a[i];
	f=1,b=2,mp[a[1]]=1;
	while(b<=n){
		if(mp[a[b]]==1){
			while(a[f]!=a[b]) mp[a[++f]]=0;
		}
//		cout<<f<<" "<<b<<endl;
		mp[a[b]]=1,maxx=max(b-f+1,maxx),b++;
//		for(int i=1;i<=3;i++) cout<<mp[i]<<" ";
//		cout<<endl;		
	}
	cout<<maxx;
	return 0;
}

现样例过, \color{red}{WA10}

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a[200005],maxx,b,f,s;
map<int,int>mp;
signed main(){
	cin>>n;
	for(int i=1;i<=n;i++) cin>>a[i];
	f=1,b=2,mp[a[1]]=1;
	while(b<=n){
		if(mp[a[b]]==1){
			while(a[f]!=a[b]) mp[a[++f]]=0;
			f++;
		}
//		cout<<f<<" "<<b<<endl;
		mp[a[b]]=1,maxx=max(b-f+1,maxx),b++;
//		for(int i=1;i<=3;i++) cout<<mp[i]<<" ";
//		cout<<endl;		
	}
	cout<<maxx;
	return 0;
}

现已 \color{green}{AC}
@2345安全卫士 关帖。

可以说明下原因,还有这种可以发在智灵班里面