hoon3722   3년 전

40퍼 쯤에서 시간 초과뜨네요.

제가 푼 방법은 a,b,c,d 4개를 두개로 나누어서 두개씩 짝을 지어서 만든 합의 배열을 만들었습니다. ( ab의 합 배열, cd의 합 배열)

그 다음에 cd 배열을 병합정렬로 정렬시키고 cd배열을 이분 탐색해서 하나씩 ab배열의 원소와 cd배열의 원소 합이 0이되는걸 세도록 했습니다.

도대체 왜 시간초과가 뜨는지 모르겠습니다. 문제에 있는 예제도 작동이 되는데..

yj10516   3년 전

만약 모든 a[i]=b[i]=c[i]=d[i]=0 이라면

위 코드는 binary search 당 n^2번의 연산을 하게 되어서

O(n^4) 가 됩니다.

hoon3722   3년 전

정확한 지적 감사합니다. 코드 길어서 찾기도 힘들었을텐데,,

댓글을 작성하려면 로그인해야 합니다.