ALGORITHM/BOJ

[BOJ] 2470번 두 용액 (C++)

yegyeom 2022. 1. 3. 13:44

문제 (https://www.acmicpc.net/problem/2470)

 

2470번: 두 용액

첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00

www.acmicpc.net

투 포인터 알고리즘을 사용하여 해결한 문제이다.

 

start를 맨 앞, end를 맨 뒤에 두고 움직이기 시작한다. start와 end가 가리키는 값을 더하여 최솟값인지 절댓값을 취해 비교한다.

더한 값이 0보다 작다면? 숫자를 크게 하여 0에 가까워져야 하므로 start 증가

더한 값이 0보다 크거나 같다면? 숫자를 작게 하여 0에 가까워져야 하므로 end 감소


[소스코드]