※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 5054번 문제인 주차의 신이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/5054
5054번: 주차의 신
첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 100) 모든 테스트 케이스는 두 줄로 이루어져 있다. 첫째 줄에는 선영이가 방문할 상점의 수 n이 주어지며 (1 ≤ n ≤ 20), 둘째 줄에는 상점
www.acmicpc.net
어디에 주차하더라도 가장 왼쪽 상점과 가장 오른쪽 상점을 들러야 한다는 점에 주목해보자.
최단거리로 모든 상점을 들리려면 ((가장 오른쪽 상점) - (가장 왼쪽 상점)) * 2의 거리만큼을 걸어야 한다는 하다는 것을 알 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int T; cin >> T;
while (T--) {
int N; cin >> N;
int mx = 0, mn = 100;
while (N--) {
int x; cin >> x;
if (x > mx) mx = x;
if (x < mn) mn = x;
}
cout << (mx - mn) * 2 << '\n';
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 1208 // C++] 부분수열의 합 2 (0) | 2021.06.03 |
---|---|
[BOJ 1593 // C++] 문자 해독 (0) | 2021.06.02 |
[BOJ 10807 // C++] 개수 세기 (0) | 2021.06.01 |
[BOJ 11098 // C++] 첼시를 도와줘! (0) | 2021.06.01 |
[BOJ 14624 // C++] 전북대학교 (0) | 2021.06.01 |