#include <iostream>
#include <algorithm>
#include <cmath>
#include <climits>
using namespace std;
const int MAX_M = 100000;
const int MAX_N = 100000;
int main() {
int m, n;
// 读取学校数量 m 和学生数量 n
cin >> m >> n;
int schools[MAX_M];
// 读取 m 个学校的预计录取分数
for (int i = 0; i < m; i++) {
cin >> schools[i];
}
// 对学校分数线进行排序
sort(schools, schools + m);
int students[MAX_N];
// 读取 n 个学生的估分成绩
for (int i = 0; i < n; i++) {
cin >> students[i];
}
long long totalDissatisfaction = 0;
// 遍历每个学生的估分
for (int i = 0; i < n; i++) {
int minDiff = INT_MAX;
// 遍历所有学校的分数线,找到最接近的分数线
for (int j = 0; j < m; j++) {
int diff = abs(students[i] - schools[j]);
if (diff < minDiff) {
minDiff = diff;
}
}
// 累加该学生的不满意度
totalDissatisfaction += minDiff;
}
// 输出最小的不满意度总和
cout << totalDissatisfaction << endl;
return 0;
}
/**************************************************************
Problem: 1899
User: chenjingqi
Language: C++
Result: Time Limit Exceed
****************************************************************/