C++ 채점 시간 보정 안내
DOJ의 채점 환경은 현재 C++ 실행 속도가 일반적인 온라인 저지 환경보다 빠른 편입니다.
이로 인해 문제에서 의도한 시간 제한보다 더 느린 시간복잡도의 풀이가 통과할 수 있는 상황이 있었습니다. 예를 들어 제한상 인 문제에서 출제 의도는 풀이를 통과시키고 풀이를 제한하려는 것일 수 있습니다. 하지만 DOJ 환경에서는 C++ 실행이 빠르기 때문에, 의도보다 느린 풀이도 여유 있게 통과하는 경우가 생길 수 있습니다.
반대로 모든 문제의 시간 제한을 일괄적으로 절반으로 줄이면, Python, PyPy, Java 등 다른 언어가 과도하게 불리해질 수 있습니다. 실제로 다른 언어의 실행 시간은 기존 저지들과 대체로 비슷하거나 더 빠른 수준이었기 때문에, 전체 시간 제한을 낮추는 방식은 적절하지 않다고 판단했습니다.
따라서 DOJ에서는 C++ 제출에 대해 내부적으로 실행 시간을 2배로 보정하여 판정합니다.
즉, C++ 코드가 실제로 동안 실행되었다면, 채점 결과에서는 를 사용한 것으로 간주합니다.
이 보정은 시간 제한 판정에 반영되며, 문제의 의도한 시간복잡도 구분이 더 잘 유지되도록 하기 위한 조치입니다.
요약하면 다음과 같습니다.
- C++ 제출은 실행 시간이 2배로 보정됩니다.
- 문제의 시간 제한 자체를 줄이는 것은 아닙니다.
- Python, PyPy, Java 등 다른 언어에는 이 보정이 적용되지 않습니다.
- 이는 C++이 지나치게 빠른 환경 때문에 의도보다 느린 풀이가 통과하는 문제를 줄이기 위한 조치입니다.
앞으로도 채점 환경과 시간 제한 정책은 실제 제출 결과를 보며 계속 조정해 나가겠습니다.