백준 2548 c++ : 정렬

#include <iostream>
#include <vector>
#include <math.h>
#include <algorithm>
using namespace std;
void input_data(vector<int> &nums) {
cout << "input_data()\n";
int i, N, temp;
cin >> N;
for (i = 0; i < N; i++) {
cin >> temp;
nums.push_back(temp);
}
return;
}
int find_answer(vector<int>& nums) {
cout << "find_answer()\n";
int answer = 0;
int i, j, current;
int min = 2100000000, sum;
//차이들의 합이 최소가 되려면, 정렬이 되어 가장 가까운 수끼리 차를 내야 함
sort(nums.begin(), nums.end());
for (i = 0; i < nums.size(); i++) {
sum = 0;
current = nums[i];
for (j = 0; j < nums.size(); j++) {
sum += abs(current - nums[j]);
}
cout << current << " : " << sum << "\n";
if (sum < min) {
min = sum;
answer = current;
cout << "new_answer : " << answer << "\n";
}
}
return answer;
}
int main(void) {
ios_base::sync_with_stdio(false);
cout.tie(NULL);
cin.tie(NULL);
vector<int> nums;
input_data(nums);
cout << find_answer(nums) << "\n";
return 0;
}