[백준] 2295번 세 수의 합 c++


[백준] 2295번 세 수의 합 c++

시간초과 이유 무지성 N^3 for문 돌리면서 이분 탐색 N^3Log2N 당연히 안된다. N^2Log2N으로 줄일 수 있다. 먼저 이중 for문으로 배열의 값들을 다 더해서 넣어준다. 그러면 세 개의 수 중 2개의 수는 더 한게 되고 이걸 정렬을 한 번 해준다. 다시 v 배열을 이중 for문 돌면서 가장 마지막 인덱스부터와 가장 처음 인덱스부터 돌면서 그 값을 빼준 게 two vector에 있는 지 본다 two + v[i] = v[j] 이기에 two = v[j] - v[i] 로 생각할 수 있기에 가능하다. 이 값이 있으면 최댓값을 갱신해준다....

[백준] 2295번 세 수의 합 c++에 대한 요약내용입니다.

자세한 내용은 아래에 원문링크를 확인해주시기 바랍니다.



원문링크 : [백준] 2295번 세 수의 합 c++