정렬을 통해 풀어보기 위해 예시를 적어보던 중 정답은 (최대값 - 최소값) * 2 라는걸 찾았다. 왜일까?
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void input_beeds(vector<int> &beeds)
{
int N, i, temp;
cin >> N;
for (i = 0; i < N; i++)
{
cin >> temp;
beeds.push_back(temp);
}
return;
}
int find_answer(vector<int> &beeds)
{
int answer = 0;
//정답 = (최대값 - 최소값) * 2
/*
sort(beeds.begin(), beeds.end());
answer = (beeds.back() - beeds.front()) * 2;
*/
answer = (*max_element(beeds.begin(), beeds.end())
- *min_element(beeds.begin(), beeds.end())) * 2;
return answer;
}
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
vector<int> beeds;
input_beeds(beeds);
cout << find_answer(beeds) << "\n";
return 0;
}