| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 41741 | stevenyu | 【S】T2 | C++ | 解答错误 | 23 | 1028 MS | 4944 KB | 710 | 2026-05-29 18:40:29 |
#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=1,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; }