求助
查看原帖
求助
287947
Icyfires18楼主2022/2/2 17:37

考场代码40分

R68353771 记录详情

#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

2022/2/2 17:37
加载中...