我是先建一个结构体,保存val,num(原先的位置)
对两个对列都排序,设两个队列 为a,b
k[i]=a[i].num-b[i].num;
如果k[i]>0 pos[i]=1;否则pos[i]=0;
开个队列
for(i=1;i<=n;i++){
if(pos[i]!=pos[q[t]]&&k[i]!=0&&h<=t){
k[i]和k[q[t]]相互抵消 ans+=绝对值小的×2-1;
如果k[i]绝对值大于k[q[t]] t--;
否则退出
}
如果k[i]!=0 q[++t]=i;
}
目测要跪。。。。