====== 용액 ====== ===== 풀이 ===== * [[ps:problems:boj:2470]]과 똑같은 문제인데, 처음에 배열이 정렬된 상태로 주어진다는 점만 다르다. * [[ps:problems:boj:2470]]에 썼던 코드를 그대로 제출해도 통과 가능하다. 하지만, 이왕 이미 정렬된 상태로 주어지니, 여기에서 바로 [[ps:투 포인터]]를 써서 풀면 O(n)에 풀 수 있다. [[ps:투 포인터]]로 푸는 방식에 대한 약간 더 자세한 설명은 [[ps:problems:boj:2470]] 참고 ===== 코드 ===== """Solution code for "BOJ 2467. 용액". - Problem link: https://www.acmicpc.net/problem/2467 - Solution link: http://www.teferi.net/ps/problems/boj/2467 """ INF = float('inf') def main(): N = int(input()) # pylint: disable=unused-variable nums = [int(x) for x in input().split()] from_left, from_right = iter(nums), reversed(nums) left, right = next(from_left), next(from_right) min_abs_sum = INF answer = None for _ in range(N - 1): sum_val = left + right if abs(sum_val) < min_abs_sum: min_abs_sum, answer = abs(sum_val), (left, right) if sum_val > 0: right = next(from_right) else: left = next(from_left) print(*answer) if __name__ == '__main__': main() {{tag>BOJ ps:problems:boj:골드_5}}