(1회차 시도 실패)
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(arr);
int ansL = 0;
int ansR = 0;
int diff = Integer.MAX_VALUE;
int left = 0;
int right = n - 1;
while(left <= right){
int mid = arr[left] + arr[right];
int tmp = Math.abs(mid);
if(diff > tmp){
ansL = left;
ansR = right;
diff = tmp;
}
if(mid > 0){
right--;
}else {
left++;
}
}
bw.write(arr[ansL] + " " + arr[ansR]);
br.close();
bw.close();
}
}
(2회차 시도 성공)
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(arr);
int ansL = 0;
int ansR = 0;
int diff = Integer.MAX_VALUE;
int left = 0;
int right = n - 1;
while(left < right){
int mid = arr[left] + arr[right];
int tmp = Math.abs(mid);
if(diff > tmp){
ansL = left;
ansR = right;
diff = tmp;
}
if(mid > 0){
right--;
}else {
left++;
}
}
bw.write(arr[ansL] + " " + arr[ansR]);
br.close();
bw.close();
}
}