// C++ Code to find Smallest
// Difference between two Arrays
#include <bits/stdc++.h>
using namespace std;
// function to calculate Small
// result between two arrays
int findSmallestDifference(int A[], int B[],
int m, int n)
{
// Sort both arrays using
// sort function
sort(A, A + m);
sort(B, B + n);
int a = 0, b = 0;
// Initialize result as max value
int result = INT_MAX;
// Scan Both Arrays upto
// sizeof of the Arrays
while (a < m && b < n)
{
if (abs(A[a] - B[b]) < result)
result = abs(A[a] - B[b]);
// Move Smaller Value
if (A[a] < B[b])
a++;
else
b++;
}
// return final sma result
return result;
}
// Driver Code
int main()
{
// Input given array A
int A[] = {1, 8,7, 3,4,1,8};
// Input given array B
int B[] = {6,4,1,8,5,1,7};
// Calculate size of Both arrays
int m = sizeof(A) / sizeof(A[0]);
int n = sizeof(B) / sizeof(B[0]);
// Call function to print
// smallest result
cout << findSmallestDifference(A, B, m, n);
return 0;
}
Ly8gQysrIENvZGUgdG8gZmluZCBTbWFsbGVzdCAKLy8gRGlmZmVyZW5jZSBiZXR3ZWVuIHR3byBBcnJheXMgCiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPiAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsgCgovLyBmdW5jdGlvbiB0byBjYWxjdWxhdGUgU21hbGwgCi8vIHJlc3VsdCBiZXR3ZWVuIHR3byBhcnJheXMgCmludCBmaW5kU21hbGxlc3REaWZmZXJlbmNlKGludCBBW10sIGludCBCW10sIAoJCQkJCQlpbnQgbSwgaW50IG4pIAp7IAoJLy8gU29ydCBib3RoIGFycmF5cyB1c2luZyAKCS8vIHNvcnQgZnVuY3Rpb24gCglzb3J0KEEsIEEgKyBtKTsgCglzb3J0KEIsIEIgKyBuKTsgCgoJaW50IGEgPSAwLCBiID0gMDsgCgoJLy8gSW5pdGlhbGl6ZSByZXN1bHQgYXMgbWF4IHZhbHVlIAoJaW50IHJlc3VsdCA9IElOVF9NQVg7IAoKCS8vIFNjYW4gQm90aCBBcnJheXMgdXB0byAKCS8vIHNpemVvZiBvZiB0aGUgQXJyYXlzIAoJd2hpbGUgKGEgPCBtICYmIGIgPCBuKSAKCXsgCgkJaWYgKGFicyhBW2FdIC0gQltiXSkgPCByZXN1bHQpIAoJCQlyZXN1bHQgPSBhYnMoQVthXSAtIEJbYl0pOyAKCgkJLy8gTW92ZSBTbWFsbGVyIFZhbHVlIAoJCWlmIChBW2FdIDwgQltiXSkgCgkJCWErKzsgCgoJCWVsc2UKCQkJYisrOyAKCX0gCgoJLy8gcmV0dXJuIGZpbmFsIHNtYSByZXN1bHQgCglyZXR1cm4gcmVzdWx0OyAKfSAKCi8vIERyaXZlciBDb2RlIAppbnQgbWFpbigpIAp7IAoJLy8gSW5wdXQgZ2l2ZW4gYXJyYXkgQSAKCWludCBBW10gPSB7MSwgOCw3LCAzLDQsMSw4fTsgCgoJLy8gSW5wdXQgZ2l2ZW4gYXJyYXkgQiAKCWludCBCW10gPSB7Niw0LDEsOCw1LDEsN307IAoKCgkvLyBDYWxjdWxhdGUgc2l6ZSBvZiBCb3RoIGFycmF5cyAKCWludCBtID0gc2l6ZW9mKEEpIC8gc2l6ZW9mKEFbMF0pOyAKCWludCBuID0gc2l6ZW9mKEIpIC8gc2l6ZW9mKEJbMF0pOyAKCgkvLyBDYWxsIGZ1bmN0aW9uIHRvIHByaW50IAoJLy8gc21hbGxlc3QgcmVzdWx0IAoJY291dCA8PCBmaW5kU21hbGxlc3REaWZmZXJlbmNlKEEsIEIsIG0sIG4pOyAKCglyZXR1cm4gMDsgCn0gCg==