#include <iostream>
#include <vector>
#include <algorithm>
#include <climits> // Include this header to use INT_MAX
using namespace std;
vector<int> closestNumbers(vector<int>& arr) {
vector<int> result;
sort(arr.begin(), arr.end()); // Step 1: Sort the array
int minDiff = INT_MAX; // Initialize minDiff to a large value
// Step 2: Find the smallest absolute difference
for (size_t i = 0; i < arr.size() - 1; ++i) {
int diff = arr[i + 1] - arr[i];
if (diff < minDiff) {
minDiff = diff;
}
}
// Step 3: Collect pairs with the smallest difference
for (size_t i = 0; i < arr.size() - 1; ++i) {
int diff = arr[i + 1] - arr[i];
if (diff == minDiff) {
result.push_back(arr[i]);
result.push_back(arr[i + 1]);
}
}
return result;
}
int main() {
int n;
cin >> n;
vector<int> arr(n);
for (int i = 0; i < n; ++i) {
cin >> arr[i];
}
vector<int> result = closestNumbers(arr);
for (int num : result) {
cout << num << " ";
}
cout << endl;
return 0;
}
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter