hojinland   11달 전

도무지 안되는 이유에 대해 모르겠습니다.

c배열이 첫 테스트케이스 이후 초기화되지 않네요

테스트케이스 시작마다 c를 전부 0으로 바꿔주셔야 할 듯합니다

ntopia   11달 전

아마 주된 이유는 테스트케이스가 여러개 들어올 때, c배열을 초기화 하지 않은 상태로 다음 테스트케이스를 처리하기 때문에

0을 출력해야 할 때 1을 출력하게 되는 것이 문제인 것 같습니다


그리고 저렇게 큰 배열 (백만개 짜리) 은 전역에 선언하지 않으면 런타임에러가 날 수도 있습니다. 스택공간은 매우 작아요...

hojinland   11달 전

많은 답변 감사드립니다 . 말씀해주신대로 c배열을 초기화 시켰음에도 불구하고 또 다시 틀렸습니다 만이 출력되고 있습니다 .....

의미상 33번 줄 부등호가 반대방향이 되는 게 맞는 듯합니다. 정렬된 b배열에서의 어떤 값보다 '작은 값'은 서치할 필요가 없으니

a[i]가 '작을 때' 스킵해야 겠지요
현재 코드에서 찾은 반례는 아래와 같습니다.
1
3
6 5 4
3
5 1 7
그리고 시간 제한을 통과하려면 40번 줄 중괄호 뒤에 else break; 가 필요해 보입니다

hojinland   11달 전

정말 감사합니다 도움으로 인해 해결할 수 있었습니다. 해결에 그치지 않고 다시 한번 보도록 하겠습니다

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