DOJ logoDOJ
Problems
Recently added problemsSaved problems
CategoriesDLCContestsGroupsTeamsBoard
Ranking
Solved Problem RankingStreak rankingDOJ Power ranking
Status
Call for TasksLoginRegister
DOJ logoDOJ

Community online judge with OI-style subtask scoring, Elo ratings, and Discord-backed certification.

Problems
ProblemsCategories
Community
ContestsRankingBoardNoticesHost an external contestGuide
Account
LoginRegisterJudge Status
Policy
Terms of ServiceDLC RulesPrivacyAPI documentationLanguage runtimesContest rank rewardsRating and performance
© 2026 DOJ
All rights reserved
Revision historyCurrent post
Revision 1NoticeMarkdown

[중요] 채점 관련 공지

guuJul 10, 2026, 1:06 AM

C++ 채점 시간 보정 안내

DOJ의 채점 환경은 현재 C++ 실행 속도가 일반적인 온라인 저지 환경보다 빠른 편입니다.

이로 인해 문제에서 의도한 시간 제한보다 더 느린 시간복잡도의 풀이가 통과할 수 있는 상황이 있었습니다. 예를 들어 제한상 N=5×105N = 5 \times 10^5N=5×105인 문제에서 출제 의도는 O(Nlog⁡N)O(N \log N)O(NlogN) 풀이를 통과시키고 O(Nlog⁡2N)O(N \log^2 N)O(Nlog2N) 풀이를 제한하려는 것일 수 있습니다. 하지만 DOJ 환경에서는 C++ 실행이 빠르기 때문에, 의도보다 느린 풀이도 여유 있게 통과하는 경우가 생길 수 있습니다.

반대로 모든 문제의 시간 제한을 일괄적으로 절반으로 줄이면, Python, PyPy, Java 등 다른 언어가 과도하게 불리해질 수 있습니다. 실제로 다른 언어의 실행 시간은 기존 저지들과 대체로 비슷하거나 더 빠른 수준이었기 때문에, 전체 시간 제한을 낮추는 방식은 적절하지 않다고 판단했습니다.

따라서 DOJ에서는 C++ 제출에 대해 내부적으로 실행 시간을 2배로 보정하여 판정합니다.

즉, C++ 코드가 실제로 500 ms500\text{ ms}500 ms 동안 실행되었다면, 채점 결과에서는 1000 ms1000\text{ ms}1000 ms를 사용한 것으로 간주합니다.

Tjudge=2×TactualT_{\text{judge}} = 2 \times T_{\text{actual}}Tjudge​=2×Tactual​

이 보정은 시간 제한 판정에 반영되며, 문제의 의도한 시간복잡도 구분이 더 잘 유지되도록 하기 위한 조치입니다.

요약하면 다음과 같습니다.

  • C++ 제출은 실행 시간이 2배로 보정됩니다.
  • 문제의 시간 제한 자체를 줄이는 것은 아닙니다.
  • Python, PyPy, Java 등 다른 언어에는 이 보정이 적용되지 않습니다.
  • 이는 C++이 지나치게 빠른 환경 때문에 의도보다 느린 풀이가 통과하는 문제를 줄이기 위한 조치입니다.

앞으로도 채점 환경과 시간 제한 정책은 실제 제출 결과를 보며 계속 조정해 나가겠습니다.