반응형

www.acmicpc.net/problem/10819

 

10819번: 차이를 최대로

첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다.

www.acmicpc.net

1. 순열 순서 변경

2. 계산

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <algorithm>
#define rep(i,n) for(int i=0;i<n;i++)
int n, ans;
int arr[9];
using namespace std;
int calc() {
    int ret = 0;
    for (int i = 0;i < n - 1;i++)
        ret += abs(arr[i] - arr[i + 1]);
    return ret;
}
int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cin >> n;
    rep(i, n)
        cin >> arr[i];
    sort(arr, arr + n);
    ans = calc();
    while (next_permutation(arr, arr + n)) 
        ans = max(ans, calc());
    
    cout << ans;
}
cs
반응형

'백준 > 백트래킹' 카테고리의 다른 글

백준 18290  (0) 2021.02.15
백준 10971  (0) 2021.02.03
백준 1987  (0) 2021.02.03
백준 1759  (0) 2021.02.03
백준 1182  (0) 2021.01.30

+ Recent posts