90分,WA on #2
查看原帖
90分,WA on #2
1224869
river_wind楼主2024/7/30 09:44
#include<iostream>
#include <climits>
using namespace std;
int n,ans;
int a[100005];
int b[100005];
int c[100005];
int dp[100005];
int f[100005];
int main(){
	cin>>n;
	for(int i = 1;i<=n;i++){
		cin>>a[i];
		c[a[i]] = i;
	}
	for(int i = 1;i<=n;i++){
		cin>>b[i];
		b[i] = c[b[i]];
	}
	for(int i = 1;i<=n;i++){
		f[i] = INT_MAX;
	}
	f[0] = INT_MIN;
	for(int i = 1;i<=n;i++){
		*lower_bound(f+1,f+n+1,b[i]) = b[i];
	}
	cout<<lower_bound(f+1,f+n+2,INT_MAX)-f-1;
}
2024/7/30 09:44
加载中...