提交时间:2026-05-29 19:48:32

运行 ID: 41775

#include<bits/stdc++.h> using namespace std; #define int long long int t,n,a[300005],b[300005]; int check(int mid){ int pos=1,ans=LLONG_MAX; for(int i=mid;i<=n;i++)ans=min(ans,abs(b[i]-a[pos])),pos++; for(int i=1;i<mid;i++)ans=min(ans,abs(b[i]-a[pos])),pos++; return ans; } signed main(){ cin>>t; while(t--){ cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; for(int i=1;i<=n;i++)cin>>b[i]; sort(a+1,a+n+1); sort(b+1,b+n+1); int l=0,r=n; while(l<r){ int mid=(l+r)>>1; if(check(mid)<check(mid+1))l=mid+1; else r=mid; } cout<<check(l)<<endl; } return 0; }