diff --git a/problem/P1678/P1678.cpp b/problem/P1678/P1678.cpp new file mode 100644 index 00000000..4b72a9e4 --- /dev/null +++ b/problem/P1678/P1678.cpp @@ -0,0 +1,28 @@ +#include + +using namespace std; + +int m, n, q, ans, a[100005]; + +int main() { + cin >> m >> n; + for (int i = 0; i < m; i++) { + cin >> a[i]; + } + sort(a, a + m); + for (int i = 0; i < n; i++) { + cin >> q; + int p = lower_bound(a, a + m, q) - a; + if (p == m) { + ans += q - a[m - 1]; + } + else if (p == 0) { + ans += a[0] - q; + } + else { + ans += min(abs(a[p] - q), abs(q - a[p - 1])); + } + } + cout << ans << endl; + return 0; +}