CHULMING   2년 전

알고리즘은

(코드 설명 부분 삭제)

대략 250만 회의 연산이 필요하다고 가정하고, 코드를 작성하고 실행했습니다.

근데 VS에서 예제 3번을 입력해도 정답이 나오는데 수십 초가 걸리는데, 제출해보니 88ms를 받더라구요.

이런 문제가 가끔 있어서 시간초과가 나지않을 것 같은데 실행이 안되는 코드를 항상 ideone에 돌려보고 시간을 측정하고 내게 되더라구요.

혹시 왜 이러한 현상이 발생하는지 알려주실 수 있나요?!

해결되면 코드는 내리겠습니다.

jung2381187   2년 전

디버그 모드 말고 릴리즈 모드로 컴파일하셔야 합니다

CHULMING   2년 전

@jung2381187

디버그모드랑 릴리즈모드에 대해 처음 알았네요 이런 기능이 있었군요


혹시 그럼 알고리즘 문제 풀때는 릴리즈 모드로 컴파일하는 것이 유리할까요? (디버깅 끝나고 제출 직전 코드의 경우)

rdd6584   2년 전

릴리즈에서가 조금 더 채점 환경에 가까운 속도를 낸다고 들었습니다.

그리고 보통 반복문을 1억번정도 도는 정도를 1초에 돈다고 가정하면 얼추 맞고, 실제로도 많이 사용되는 방법입니다.

CHULMING   2년 전

@rdd6584

감사합니다.

저도 그 가정으로 항상 접근하는데, 

아무래도 제출에 따라 정답 여부를 알려주지 않는 대회나 제출횟수가 제한되어 있는 경우에는

확실할 때만 제출하게 되더라구요.. 방금처럼 vs에서 안돌아가게되면 어딘가 문제가 있구나.. 하고 계속 찾게되네요.

답변 감사합니다!

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