DOJ logoDOJ
题目
最近添加的题目收藏的题目Workbooks
分类DLC比赛小组团队讨论区
排名
解题数量排行榜连续解题排名DOJ Power 排行榜
评测状态
征题登录注册
DOJ logoDOJ

支持 OI 子任务计分、Elo 等级分和 Discord 认证的社区在线评测系统。

题目
题目列表分类
社区
比赛排名讨论区公告举办外部比赛指南
账号
登录注册评测状态
政策
服务条款DLC 使用规则隐私政策API 文档语言运行环境比赛排名奖励评级与表现
© 2026 DOJ
保留所有权利
题解

Problem Numbers Aren't Sorted by Difficulty

返回题目

题解

난이도 이름을 쉬운 순서대로 0,1,…,50,1,\ldots,50,1,…,5에 대응시키자. 난이도 이름의 번호를 ggg라고 할 때, 난이도 (g,d)(g,d)(g,d)에 다음 값을 대응시킨다.

r=5g+(5−d).r=5g+(5-d).r=5g+(5−d).

그러면 rrr이 작을수록 쉬운 난이도이다. 같은 난이도 이름에서 숫자 555가 가장 쉽고 숫자 111이 가장 어렵다는 규칙도 이 식에 그대로 반영된다.

기준 난이도의 값을 RRR이라고 하자. 각 문제의 난이도 값을 계산하여 RRR 이하인 문제만 남긴다. 남은 문제들을 난이도 값의 오름차순으로 정렬하면 된다. 난이도 값이 같은 문제들의 순서는 중요하지 않다.

구현에서는 정답을 유일하게 만들 필요가 없지만, 참고 구현은 같은 난이도에서 문제 번호의 오름차순으로 정렬한다.

시간 복잡도는 각 테스트 케이스에서 O(Nlog⁡N)O(N\log N)O(NlogN)이고, 공간 복잡도는 O(N)O(N)O(N)이다.

Solution written by GPT5.6