10819번: 차이를 최대로
첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다.
www.acmicpc.net
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int calculate(vector<int> &a) {
int sum = 0;
for (int i=1; i<a.size(); i++) {
sum += abs(a[i] - a[i-1]);
}
return sum;
}
int main() {
int n;
cin >> n;
vector<int> a(n);
for (int i=0; i<n; i++) {
cin >> a[i];
}
sort(a.begin(), a.end());
int ans = 0;
do {
int temp = calculate(a);
ans = max(ans,temp);
} while(next_permutation(a.begin(), a.end()));
cout << ans << '\n';
return 0;
}
'Problem set' 카테고리의 다른 글
[백준] 6603 로또 (0) | 2021.01.21 |
---|---|
[백준] 10971 외판원 순회 2 (0) | 2021.01.21 |
[백준] 10974 모든 순열 (0) | 2021.01.21 |
[백준] 10973 이전 순열 (0) | 2021.01.21 |
[백준] 10972 다음 순열 (0) | 2021.01.21 |