# SESO08 - Editorial

### Problem Explanation

The task is to find the element in an array that has the smallest absolute difference from a given integer `k`. If there are multiple elements with the same minimum difference, the program should return the smallest of these elements.

### Approach

To find the element in an array with the smallest absolute difference from a given integer `k`, we iterate through the array while keeping track of the minimum absolute difference (`min_diff`) and the corresponding element (`result`). For each element in the array, we calculate its absolute difference from `k`. If this difference is smaller than `min_diff`, or if the difference is equal but the element is smaller than the current `result`, we update `min_diff` and `result` accordingly. After traversing the entire array, `result` will hold the element with the smallest absolute difference from `k`, ensuring that if multiple elements have the same difference, the smallest one is returned. This approach efficiently finds the desired element with a time complexity of O(n).

### Complexity Analysis

• Time Complexity: The time complexity of this solution is O(n), where `n` is the number of elements in the array. This is because the array is traversed only once.

• Space Complexity: The space complexity is O(1), as the algorithm uses only a few extra variables (`min_diff` and `result`), regardless of the input size.