C.cpp 777 B

12345678910111213141516171819202122232425262728293031323334
  1. #include<iostream>
  2. #include<string>
  3. #include<algorithm>
  4. #include<vector>
  5. #include<climits>
  6. using namespace std;
  7. int main() {
  8. for (int m, n; cin >> m >> n;) {
  9. vector<int> a(m), b(n);
  10. for (int i = 0; i < m; i++) {
  11. cin >> a[i];
  12. }
  13. for (int i = 0; i < n; i++) {
  14. cin >> b[i];
  15. }
  16. sort(a.begin(), a.end());
  17. sort(b.begin(), b.end());
  18. if (m > n) {
  19. swap(a, b);
  20. }
  21. int gmin = INT_MAX;
  22. for (int i = 0; i < m; i++) {
  23. int j = lower_bound(b.begin(), b.end(), a[i]) - b.begin();
  24. gmin = min(gmin, abs(a[i] - b[j]));
  25. if (gmin == 0) {
  26. break;
  27. }
  28. }
  29. cout << gmin << endl;
  30. }
  31. return 0;
  32. }