이전에 풀었던 next_permutation 함수를 사용해 모든 순열을 만드는 함수를 사용해 보았다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void input_vector(vector<int> &v)
{
int N, i, temp;
cin >> N;
for (i = 0; i < N; i++)
{
cin >> temp;
v.push_back(temp);
}
sort(v.begin(), v.end());
return;
}
void find_answer(vector<int>& v)
{
int i, size = v.size(), sum = 0, answer = 0;
do
{
sum = 0;
for (i = 0; i < size; i++)
{
if (i == size - 1)
{
continue;
}
sum += abs(v[i] - v[i + 1]);
}
answer = max(answer, sum);
} while (next_permutation(v.begin(), v.end()));
cout << answer << "\n";
return;
}
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
vector<int> v;
input_vector(v);
find_answer(v);
return 0;
}