思维题,位置差
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,x;
cin>>n;
int a[200005],b[200005],c[200005]={0};
for(int i=0;i<n;i++){
cin>>x;
a[x]=i;
}
for(int i=0;i<n;i++){
cin>>x;
b[x]=i;
}
for(int i=1;i<=n;i++){
c[(a[i]-b[i]+n)%n]++;
}
int MAX=-1;
for(int i=0;i<n;i++){
MAX=max(MAX,c[i]);
}
cout<<MAX;
}