蒟蒻疑惑
#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
int m, n, a[100010], b[100010];
long long cnt;
int main() {
scanf("%d%d", &m, &n);
for (int i = 1; i <= m; i++)
scanf("%d", &a[i]);
for (int i = 1; i <= n; i++)
scanf("%d", &b[i]);
sort(a + 1, a + m + 1);
for (int i = 1; i <= n; i++) {
if (b[i] > a[m]) {
int sad = b[i] - a[m];
cnt += sad;
} else {
int k = lower_bound(a + 1, a + m + 1, b[i]) - a;
int j = k - 1;
int sad = min(abs(a[k] - b[i]), abs(a[j] - b[i]));
cnt += sad;
}
}
printf("%d", cnt);
return 0;
}