60分求调
#include<bits/stdc++.h>
using namespace std;
long long n,m,A[100005],B[100005],ans;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin>>m>>n;
for(int i=1;i<=m;i++)
{
cin>>A[i];
B[i]=-A[i];
}
sort(A+1,A+m+1);
sort(B+1,B+m+1);
while(n--)
{
long long x;
cin>>x;
long long a=A[(lower_bound(A+1,A+m+1,x)-A)]-x;
long long b=x+B[(lower_bound(B+1,B+m+1,-x)-B)];
ans+=min(a,b);
}
cout<<ans<<'\n';
return 0;
}