求救0pts
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
#define int long long
int fen[100005],gu[100005];
int max(int a,int b){return (a>b)?a:b;}
int min(int a,int b){return (a<b)?a:b;}
signed main(){
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>fen[i];
}
for(int i=0;i<m;i++){
cin>>gu[i];
}
sort(fen,fen+n);
int ans=0;
//cout<<1;
for(int i=0;i<m;i++){
int l=0,r=n-1;
int mid=(l+r)/2;
// cout<<1;
while(l<=r){
//cout<<i<<'\n';
int x=abs(gu[i]-fen[mid]);
int y=abs(gu[i]-fen[max(mid-1,0)]);
int z=abs(gu[i]-fen[min(mid+1,n-1)]);
//cout<<x<<' '<<y<<' '<<z<<'\n';
if(x<=y&&x<=z){
ans+=x;
break;
}else if(x-y>x-z){
r=mid-1;
mid=(l+r)/2;
}else{
l=mid+1;
mid=(l+r)/2;
}
}
//cout<<mid<<' '<<i<<'\n';
}
cout<<ans;
}