파이썬으로 풀어본 문제를 같은 방식으로 C++로 풀어보았다. 풀이 방식은 같으므로 설명은 생략한다.
[ BOJ / Python ] 11497번 통나무 건너뛰기
#include <iostream>
#include <vector>
#include <algorithm>
#include <math.h>
#define MAX 10001
using namespace std;
int t,n;
vector<int> l;
vector<int> arr;
int answer;
void Input(){
cin>>n;
for(int i=0; i<n; i++){
int a;
cin>>a;
l.push_back(a);
}
}
void Solution(){
sort(l.begin(), l.end());
int i=0;
while(arr.size()!=l.size()){
arr.push_back(l[i]);
i++;
if(arr.size()==l.size())
break;
arr.insert(arr.begin(), l[i]);
i++;
}
for(int i=1; i<n; i++){
answer=max(abs(arr[i]-arr[i-1]), answer);
}
cout<<answer<<endl;
}
void Solve(){
cin>>t;
for(int i=0; i<t; i++){
answer=0;
l.clear();
arr.clear();
Input();
Solution();
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
Solve();
return 0;
}