考场代码40分
#include<iostream>
#include<cstdio>
#define len(i) (r[i]-l[i]+1)
using namespace std;
const int N=4000000;
int l[N],r[N];
int n,a[N],p[N];
inline void reade(int& rer){
register char ch;
for(ch=0;ch<'0'||ch>'9';ch=getchar());
for(rer=0;ch>='0'&&ch<='9';ch=getchar())
rer=(rer<<3)+(rer<<1)+(ch^48);
}
int main(){
// freopen("qwq0.in","r",stdin);
register int i,k;
scanf("%d",&n);
for(i=1;i<=n;++i)
reade(a[i]),
p[a[i]]=i;
l[1]=r[1]=p[1];
for(i=2;i<=n;++i)
l[i]=min(l[i-1],p[i]),
r[i]=max(r[i-1],p[i]);
for(i=1;i<=n;++i){
reade(k);
if(k>i)continue;
if(len(k)>i)continue;
printf("%d",i);
return 0;
}putchar('0');
// fclose(stdin);
return 0;
}
有人能说下哪里错啦吗?
call me if you want explanation