建议增强测试点
查看原帖
建议增强测试点
681736
zhengjingtian楼主2024/8/21 17:33
#include<bits/stdc++.h>
using namespace std;
vector<int> v[1000005];
int n,ans;
int a[1000005],b[1000005];
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	for(int i=1;i<=n;i++)
		cin>>b[i];
	for(int i=1;i<=n;i++)
		if(a[i]==b[i])
			v[a[i]].push_back(i);
	for(int i=0;i<=n;i++)
	{
		if(!v[i].size())
			ans=max(ans,n-i);
		else
		{
			int last=0;
			for(int j=0;j<v[i].size();j++)
			{
				ans=max(ans,v[i][j]-(last+1)-i);
				last=v[i][j];
			}
			ans=max(ans,n-v[i][v[i].size()-1]-i);
		}
	}
	cout<<ans;
	return 0;
}

ans=max(ans,v[i][j]-(last+1)-i);改成ans=max(ans,v[i][j]-(last-1)-i);也能过

2024/8/21 17:33
加载中...