Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
41760 seawater 【S】T2 C++ 运行超时 93 2000 MS 3772 KB 1422 2026-05-29 19:37:55

Tests(39/40):


#include<bits/stdc++.h> using namespace std; int T,n; int a[300005],b[300005],c[300005],l,r,mid,ans; bool check(int x){ int sum=0,l=1,r=n,mid=0; for(int i=1;i<=n;i++){ l=1,r=n; while(l<=r){ mid=(l+r)/2; if(b[mid]>=a[i]+x){ r=mid-1; } else l=mid+1; } //cout<<r+1<<' '; if(r+1>n){ // cout<<sum<<'.'; sum=min(sum,i-1); break; } c[i]=min(n,n-r+i-1); //cout<<c[i]<<';'; if(!sum) sum=c[i]; sum=min(c[i],sum); } //cout<<'\n'; //if(x=1000000000&&n==3)cout<<sum<<' '<<x<<' '<<'\\'; for(int i=sum+1,l=1;i<=n;i++){ // cout<<b[l]<<' '<<a[i]<<':'; if(b[l]+x<=a[i]) l++; else{ // cout<<'\n'; return 0; } } //cout<<'\n'; return 1; } int main(){ //freopen("cake.in","r",stdin); //freopen("cake.out","w",stdout); 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); l=0,r=1e9; ans=0; while(l<=r){ mid=(l+r)/2; if(check(mid)){ l=mid+1; ans=mid; } else{ r=mid-1; } // return 0; } cout<<ans<<'\n'; } }// CF1949弱化版大样例,样例过不了 /* 1 3 0 0 0 1000000000 1000000000 1000000000 4 3 0 0 0 1000000000 1000000000 1000000000 5 1 2 3 4 5 1 2 3 4 5 6 0 0 0 100 100 100 100 100 100 0 0 0 7 14 25 62 74 86 95 12 51 62 71 72 92 20 84 */


测评信息: