알고리즘/BOJ
[C++] 백준 5054번 주차의 신
Jay, Lee
2021. 7. 16. 20:44
문제를 보면 예전에 비문학 지문이 생각나는 문제이다
탐색에 대한 효율적인 알고리즘을 탐색하는 지문이었던 것 같다
찾아보니까 비슷한 흐름인 것 같다
2012년 6월 평가원 문제이다
궁금하다면 아래 참고
그와중에 20년에 알고리즘 문제 그 자체가 나와서 놀랐다
컴공 수시로 가려는 사람한테는 공짜 문제였을 듯
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=magician_e&logNo=220388619293
■ 2012년 6월 평가원 비문학 ■ 디스크 스케줄링
비문학 지문 읽는 방법 (가) 하드 디스크는 고속으로 회전하는 디스크의 표면에 데이터를 저장한다. 데이터...
blog.naver.com
각설하고
먼저 최소 거리여야 하니까
벡터로 입력을 받은 후 sort 시켜버리면 오름차순으로 정렬된다
이제 양 옆의 원소를 빼주고 더해주고 마지막엔
다시 되돌아와야하니까 곱하기 2를 해주면 된다
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n, m, x;
cin >> n;
for (int i = 0; i < n; i++) {
vector<int> v;
cin >> m;
int result = 0;
for (int k = 0; k < m; k++) {
cin >> x;
v.push_back(x);
}
sort(v.begin(), v.end());
for (int k = 0; k < v.size() - 1; k++) {
result += (v[k + 1] - v[k]);
}
cout << result * 2 << "\n";
}
return 0;
}