[UVa #11364] Parking

tolelom·2022년 7월 3일
0

UVa

목록 보기
7/20

문제 설명

문제 링크
nn개의 상점에 가서 쇼핑을 하려한다.
주차를 임의의 지점에다 할 수 있다고 할 때 nn개의 상점의 좌표가 주어질 때 차에서 내려 모든 상점에서 쇼핑을 하고 다시 차에 타는데 까지 걸어야 되는 거리의 최소값은?
(상점의 좌표값은 모두 정수이고 짐은 무한으로 들 수 있다고 하자)

알고리즘

차에서 내려서 가장 왼쪽의 상점까지 갔다 맨 오른쪽까지 갔다 차로 돌아오는 경우니까
(rl)2(r-l)*2가 최소값이 된다.

코드

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define INF 1000000000

int t;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    cin >> t;

    for (int tc = 1; tc <= t; ++tc) {
        int n; cin >> n;

        int minVal = 100;
        int maxVal = 0;
        for (int i = 1; i <= n; ++i) {
            int temp; cin >> temp;
            minVal = min(minVal, temp);
            maxVal = max(maxVal, temp);
        }

        cout << (maxVal - minVal) * 2 << '\n';
    }
}
profile
이것 저것 작성하는 기술 블로그

0개의 댓글