40分!求助大佬!
查看原帖
40分!求助大佬!
1404623
fsy2024楼主2024/8/12 20:39
#include<bits/stdc++.h>
using namespace std;
long long a[100005],b[100005];
long long n,m;
int main(){
    cin>>n>>m;
    for(long long i=1;i<=n;i++) cin>>a[i];
    for(long long i=1;i<=m;i++) cin>>b[i];
    sort(a+1,a+1+n);
    long long t=0;
    for(long long i=1;i<=m;i++){
        long long z=0,y=n-1,k=0x3f3f3f3f,w=0;
        while(z<=y){
            long long c=(z+y)/2;
            if(a[c]<b[i]){
                k=min(k,abs(b[i]-a[c]));
                z=c+1;
            }else{
                y=c-1;
                k=min(k,abs(b[i]-a[c]));
            }
        }
        t+=k;
    }
    cout<<t;
    return 0;
}
2024/8/12 20:39
加载中...