2473번: 세 용액

Memo


어려웠던 부분

if (std::abs(val) < std::abs(max_val))
			{
				max_val = val;
				ans[0] = sol[i];
				ans[1] = sol[left];
				ans[2] = sol[right];
			}

위 부분을 원래

if (std::abs(val) >= std::abs(max_val))
			break;

로 작성했었는데, 이 경우 최소값이 나올 수 있음에도 불구하고 작업을 종료하기 때문에 종료 조건은 오로지 left == right 로 해야합니다.

Code