You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
문제
https://www.acmicpc.net/problem/2470
난이도 : 골드5
아이디어
기존의 이분탐색 풀이법을 생각해보면 먼저 용액들을 정렬을 해준 후 이분탐색을 통해 답을 구했었다.
새로운 관점으로 투 포인터를 활용해서 풀이를 해보자
포인터 L과 R을 사용한다. L은 제일 작은 원소(최소)를 가리키고, R은 제일 큰 원소(최대)를 가리키도록 한다.
최소와 최대를 더했을 때 0보다 작은 경우
최소와 최대를 더했을 때 0보다 큰 경우
예를 들어 용액이 -99 -2 -1 4 98인 경우를 생각해보자
L + R < 0
L + R > 0
이런 과정을 반복해서 최선책을 만날때마다 0과 가까운 값으로 갱신해주기만 하면 답을 구할 수 있다.
시간 복잡도
구현
Beta Was this translation helpful? Give feedback.
All reactions