#include "wiring.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
using vi = vector<int>;
ll min_total_length(vi r, vi b) {
set<int> red, blue;
ll ans = 0;
int i = 0, j = 0;
while (i < r.size() && j < b.size()) {
if (r[i] < b[j]) {
if (!blue.empty()) {ans += r[i++] - *blue.begin(); blue.erase(*blue.begin());}
else red.insert(r[i++]);
} else {
if (!red.empty()) {ans += b[j++] - *red.begin(); red.erase(*red.begin());}
else blue.insert(b[j++]);
}
}
while (i < r.size()) {
if (!blue.empty()) {ans += r[i++] - *blue.begin(); blue.erase(*blue.begin());}
else ans += r[i++] - b.back();
}
while (j < b.size()) {
if (!red.empty()) {ans += b[j++] - *red.begin(); red.erase(*red.begin());}
else ans += b[j++] - r.back();
}
return ans;
}