十分求助
查看原帖
十分求助
1006997
politeelm楼主2023/7/13 15:28
#include <bits/stdc++.h>
using namespace std;
long long n,m,ks;
long long a[10010000];
long long rf(long long l,long long r){
    long long k;
     while(l<r){
        k=l+(r-l)/2;
        if(a[k]>ks){
            r=k;
        }
        else{
            l=k+1;
        }
     }
     return min(abs(a[l-1]-ks),abs(a[l]-ks));
    }
int main(){

cin>>n>>m;
for(long long i=1;i<=n;i++)
    cin>>a[i];
sort(a+1,a+1+n);
int s=0;
for(long long i=1;i<=m;i++){
    cin>>ks;
    s+=rf(1,n);
}   
cout<<s;
    return 0;
}
2023/7/13 15:28
加载中...