穿梭时间的画面的钟
从反方向开始移动
回到当初爱你的时空
定格内容不忠
所有回忆对着我进攻
我的伤口被你拆封
誓言太沉重泪被操纵
脸上汹涌失控
#include<iostream>
#include<algorithm>
using namespace std;
const int N=2e5+10;
int lan[3*N],uni[3*N],ans[3*N],a[N],b[N],c[N],n,m,k=0,cnt=0;
int find(int x)
{
return lower_bound(uni+1,uni+cnt+1,x)-uni;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
lan[++k]=a[i];
}
cin>>m;
for(int i=1;i<=m;i++)
{
cin>>b[i];
lan[++k]=b[i];
}
for(int i=1;i<=m;i++)
{
cin>>c[i];
lan[++k]=c[i];
}
sort(lan+1,lan+k+1);
for(int i=1;i<=k;i++)
{
if(i==1||lan[i]!=lan[i-1])
{
uni[++cnt]=lan[i];
}
}
for(int i=1;i<=n;i++)ans[find(a[i])]++;
int final_ans=0,ans1=0,ans2=0;
for(int i=1;i<=m;i++)
{
int anx=ans[find(b[i])],any=ans[find(c[i])];
if(anx>ans1||(anx==ans1&&any>ans2))
{
final_ans=i,ans1=anx,ans2=any;
}
}
if(final_ans==0)cout<<"1";
else cout<<final_ans;
}