本题最短ac代码
查看原帖
本题最短ac代码
169594
Heart_Of_Iron_4楼主2024/8/2 11:16
#include<bits/stdc++.h>
int n,a[4000100],f[4000100],d[4000100],maxx[4000100],minn[4000100],ans;
signed main()
{
	scanf("%d",&n);
	for(register int i=1;i<=n;++i)scanf("%d",&a[i]);
	for(register int i=1;i<=n;++i)scanf("%d",&f[i]);
	for(register int i=0;i<=n;++i)d[a[i]]=i,maxx[i]=INT_MIN,minn[i]=INT_MAX;
	for(register int i=1;i<=n;++i)maxx[i]=std::max(maxx[i-1],d[i]),minn[i]=std::min(minn[i-1],d[i]);
	for(register int i=1;i<=n;++i)if(!ans&&f[i]<=n&&maxx[f[i]]-minn[f[i]]+1<=i)ans=i;
	printf("%d",ans);
	return 0;
}

请不要抄袭

2024/8/2 11:16
加载中...